diff options
| author | Jan <> | 2015-02-02 17:58:18 +0100 |
|---|---|---|
| committer | Jan <_> | 2015-07-10 17:51:43 +0200 |
| commit | ca61c54b9bd69af897e4cc9d4385137fb56fd11a (patch) | |
| tree | a4363f466cea6de48ca81fadc08273d58698d2ff | |
| parent | 32a9632fbca3dd7a88bd3154b84a3773af39c276 (diff) | |
| download | tempelschubsen-ca61c54b9bd69af897e4cc9d4385137fb56fd11a.tar.gz tempelschubsen-ca61c54b9bd69af897e4cc9d4385137fb56fd11a.zip | |
TemplePushingBeta.c4s
191 files changed, 1724 insertions, 312 deletions
diff --git a/TemplePushing.c4s/BurningSky.jpg b/TemplePushing.c4s/BurningSky.jpg Binary files differnew file mode 100644 index 0000000..b1559ba --- /dev/null +++ b/TemplePushing.c4s/BurningSky.jpg diff --git a/TemplePushing.c4s/HochHinaus.jpg b/TemplePushing.c4s/CloudySky.jpg Binary files differindex d060665..d060665 100644 --- a/TemplePushing.c4s/HochHinaus.jpg +++ b/TemplePushing.c4s/CloudySky.jpg diff --git a/TemplePushing.c4s/Material.c4g/Sky.jpg b/TemplePushing.c4s/DarkSky.jpg Binary files differindex b073dc3..b073dc3 100644 --- a/TemplePushing.c4s/Material.c4g/Sky.jpg +++ b/TemplePushing.c4s/DarkSky.jpg diff --git a/TemplePushing.c4s/DescDE.rtf b/TemplePushing.c4s/DescDE.rtf index 93d7b70..9b32284 100644 --- a/TemplePushing.c4s/DescDE.rtf +++ b/TemplePushing.c4s/DescDE.rtf @@ -1,50 +1,21 @@ -{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1031\deflangfe1031{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f36\froman\fcharset238\fprq2 Times New Roman CE;} -{\f37\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f39\froman\fcharset161\fprq2 Times New Roman Greek;}{\f40\froman\fcharset162\fprq2 Times New Roman Tur;}{\f41\froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\f42\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f43\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f44\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255; -\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0; -\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 \snext0 Normal;}{\*\cs10 \additive \ssemihidden -Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv -\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}{\*\rsidtbl \rsid417570\rsid2314777\rsid3282380\rsid3302305\rsid5063892\rsid5189051 -\rsid5731503\rsid6165245\rsid6310542\rsid6817925\rsid7344688\rsid7734152\rsid9441714\rsid9796632\rsid10121665\rsid10813541\rsid11958464\rsid12083888\rsid12340038\rsid12549301\rsid12978656\rsid13963352\rsid13972291\rsid14499138\rsid15076825\rsid15214486 -\rsid15673683}{\*\generator Microsoft Word 10.0.2627;}{\info{\author Benjamin}{\operator Benjamin}{\creatim\yr2008\mo1\dy10\hr21\min49}{\revtim\yr2008\mo6\dy6\hr14\min24}{\version25}{\edmins0}{\nofpages1}{\nofwords381}{\nofchars2407}{\*\company Privat} -{\nofcharsws2783}{\vern16437}}\margl1417\margr1417\margt1417\margb1134 \widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3 -\jcompress\viewkind4\viewscale140\nolnhtadjtbl\rsidroot15076825 \fet0\sectd \linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3 -\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} -{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain -\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\b\fs20\insrsid15076825 Tempelschubsen}{\fs20\insrsid15214486 -\par }{\fs16\insrsid15214486 -\par }{\fs16\insrsid10121665 Es war ein finsterer und st\'fcrmischer Tag, und das Tageslicht war fast nicht }{\fs16\insrsid13972291 mehr }{\fs16\insrsid10121665 zu erkennen. Der Regen}{\fs16\insrsid3302305 }{\fs16\insrsid10121665 pl\'e4 -tscherte, und nur der Schal}{\fs16\insrsid3302305 l des Donners durchbrach die un}{\fs16\insrsid10121665 h}{\fs16\insrsid3302305 e}{\fs16\insrsid10121665 imliche Stille. Dies sollte }{\fs16\insrsid12083888 die letzte Schlacht zwischen den}{ -\fs16\insrsid10121665 hitzk\'f6pfige}{\fs16\insrsid12083888 n}{\fs16\insrsid10121665 Feuerfanatikern und den }{\fs16\insrsid12083888 brutalen Terrawerfern werden. All die Jahre entbrannten heftige K\'e4mpfe zwischen den beiden Clans, die haupts\'e4 -chlich durch anzweifeln der anderen Religion entstand}{\fs16\insrsid3302305 en}{\fs16\insrsid12083888 . Doch diesmal sollt}{\fs16\insrsid3302305 e sich zeigen, welche}{\fs16\insrsid12083888 der beiden Religionen am Ende \'fcberl}{\fs16\insrsid3302305 e}{ -\fs16\insrsid12083888 ben sollte. Und das }{\fs16\insrsid3302305 in}{\fs16\insrsid12083888 einem Jahrhunderte-altem Ritual: Dem Klippenschubsen. }{\fs16\insrsid3302305 Die Regeln bei diesem Ritual sind einfach. Wer stirbt hat verloren}{ -\fs16\insrsid12083888 . }{\fs16\insrsid3302305 Nat\'fcrlich wurde daf\'fcr auch eine}{\fs16\insrsid12083888 der h\'f6chsten Stellen des Planeten gesuch}{\fs16\insrsid7344688 t, n\'e4mlich eine alte}{\fs16\insrsid6165245 Ruine, dessen T\'fc -rme aus dem kalten Nebel herausragen}{\fs16\insrsid3302305 und die Tode gefallener (tolles Wortspiel ^^) Krieger zeichnen}{\fs16\insrsid6165245 .}{\fs16\insrsid12083888 }{\fs16\insrsid10121665 -\par }{\fs16\insrsid5189051 -\par }{\fs16\insrsid7734152 Ein einfaches Team-Melee}{\fs16\insrsid13963352 f\'fcr 2-8 Spieler}{\fs16\insrsid7734152 , welches hohes Geschick mit der Clonk-Steurung voraussetzt}{\fs16\insrsid15673683 . Jeder Spieler hat zu Beginn 10 Relaunchs}{ -\fs16\insrsid7734152 . Zur }{\fs16\insrsid15673683 Spiel-}{\fs16\insrsid7734152 Auswahl stehen }{\fs16\insrsid14499138 f\'fcnf}{\fs16\insrsid7734152 Varianten: }{\fs16\insrsid15673683 -\par }{\fs16\insrsid3302305 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid3302305 {\fs16\insrsid3302305 Normal: Jedes Team startet auf einer Seite. Nun m\'fcssen die Teams versuchen, sich gegenseitig von den S\'e4ulen zu Sto\'dfen. Dies wird durch Blitze, Steinschl -\'e4gen, Erdbeben und Meteoriten etwas vereinfacht.}{\fs16\insrsid7344688 Mittels Druck auf Spezial kann der Clonk in der N\'e4he befindliche Gegner wegschubsen, was sich in der N\'e4 -he des Abgrunds als hilfreich erweist. Noch ein Hinweis: Alle Flints ohne Verz\'f6gerung k\'f6nnen im Kontextmen\'fc oder auf Doppel-Graben geschossen werden.}{\fs16\insrsid3302305 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\fs16\insrsid3302305 -\par }{\fs16\insrsid15673683 Sudden-Death: }{\fs16\insrsid5189051 Die Spieler m\'fcssen versuchen zu \'fcberleben, w\'e4hrend }{\fs16\insrsid2314777 Super}{\fs16\insrsid5189051 -Flints vom Himmel fallen und Wurml\'f6 -cher in der Landschaft entstehen, die die Clonks der Spieler an andere (auch nicht gewollte) Orte bringen. In der Landschaft werden Kanonen platziert, die kein Schie\'dfpulver ben\'f6tigen und automatisch Nachschub an Munition erhalten.}{ -\fs16\insrsid15214486 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid15673683 {\fs16\insrsid15673683 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid417570 {\fs16\insrsid3302305 Speed-Kampf: Genau wie Normal, }{\fs16\insrsid15673683 jedoch mit h\'f6herer Geschwindigkeit. }{\fs16\insrsid3282380 Da die Geschwindigkeit h\'f6 -her ist, sollten Gegenst\'e4nde statt auf Doppel-Graben auf Spezial 2 aktiviert werden. }{\fs16\insrsid417570 -\par -\par Magisches Schubsen: Das gleiche Prinzip wie Normal, blo}{\fs16\insrsid3302305 \'df dass anstatt }{\fs16\insrsid5189051 Flint und anderen Gegenst\'e4nden}{\fs16\insrsid3302305 nur }{\fs16\insrsid417570 Schriftrollen gerespawnt werden. }{ -\fs16\insrsid3302305 Das hei\'dft, dass nur Magie benutzt werden kann, um die Gegner zu eliminieren}{\fs16\insrsid417570 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid15673683 {\fs16\insrsid10813541 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid10813541 {\fs16\insrsid417570 Apokalyptisches Schubsen:}{\fs16\insrsid7344688 - Die Spieler erhalten nach einem gewissen Timer-Intervall automatisch ein Terra-Flint in ihrem Inventar, solange sie weniger als drei besitzen}{\fs16\insrsid9796632 .}{\fs16\insrsid5731503 }{\fs16\insrsid417570 Meteoriten }{\fs16\insrsid5731503 haben }{ -\fs16\insrsid417570 einen gr\'f6\'dferen Explosions-Radius, und es f\'e4llt gelegentlich Feuer vom Himmel.}{\fs16\insrsid14499138 }{\fs16\insrsid11958464 Wenn ein Clonk runterf\'e4 -llt, wird er mit hoher Wahrscheinlichkeit wieder oben platziert. Deswegen sollte man ve}{\fs16\insrsid3302305 rsuchen, seine Gegner durch Ter}{\fs16\insrsid11958464 a-Flints}{\fs16\insrsid9796632 }{\fs16\insrsid7344688 zu elemi}{\fs16\insrsid11958464 -nieren. }{\fs16\insrsid5731503 In diesem Modus hat jeder}{\fs16\insrsid5189051 Spieler nur 3 Relaunchs!}{\fs16\insrsid10813541 -\par }{\fs16\insrsid12978656 -\par }{\fs16\insrsid5731503 Dieses }{\fs16\insrsid12549301 Szenario}{\fs16\insrsid5731503 ben\'f6tigt}{\fs16\insrsid12978656 das Fanatsy-Pack.}{\fs16\insrsid417570 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\fs16\insrsid15673683 -\par }{\fs16\insrsid10813541 -\par }}
\ No newline at end of file +{\rtf1\ansi\deff0\adeflang1025 +{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset1 Times New Roman;}{\f4\froman\fprq0\fcharset1 Times New Roman;}{\f5\fnil\fprq2\fcharset0 Microsoft YaHei;}{\f6\fnil\fprq2\fcharset0 Mangal;}{\f7\fnil\fprq0\fcharset1 Mangal;}} +{\colortbl;\red0\green0\blue0;\red128\green128\blue128;} +{\stylesheet{\s0\snext0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af8\langfe2052\dbch\af6\afs24\alang1081\loch\f0\fs24\lang1031 Standard;} +{\s15\sbasedon0\snext16\sb240\sa120\keepn\dbch\af5\dbch\af6\afs28\loch\f2\fs28 \u220\'dcberschrift;} +{\s16\sbasedon0\snext16\sb0\sa120 Textk\u246\'f6rper;} +{\s17\sbasedon16\snext17\sb0\sa120\dbch\af7 Liste;} +{\s18\sbasedon0\snext18\sb120\sa120\noline\i\dbch\af7\afs24\ai\fs24 Beschriftung;} +{\s19\sbasedon0\snext19\noline\dbch\af7 Verzeichnis;} +}{\info{\author Benjamin}{\creatim\yr2008\mo1\dy10\hr21\min49}{\revtim\yr2008\mo6\dy6\hr14\min24}{\printim\yr0\mo0\dy0\hr0\min0}{\comment LibreOffice}{\vern3600}}\deftab720 +\viewscale140 +{\*\pgdsctbl +{\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1417\margrsxn1417\margtsxn1417\margbsxn1134\pgdscnxt0 Standard;}} +\formshade{\*\pgdscno0}\paperh15840\paperw12240\margl1417\margr1417\margt1417\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn12240\pghsxn15840\marglsxn1417\margrsxn1417\margtsxn1417\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc +\pgndec\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af8\langfe2052\dbch\af6\afs24\alang1081\loch\f0\fs24\lang1031\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\b\langfe1031\rtlch \ltrch\loch\fs20\lang1031\loch\f4 +Tempelschubsen} +\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af8\langfe2052\dbch\af6\afs24\alang1081\loch\f0\fs24\lang1031\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\langfe1031\rtlch \ltrch\loch\fs16\lang1031\loch\f4 + +\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af8\langfe2052\dbch\af6\afs24\alang1081\loch\f0\fs24\lang1031\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\langfe1031\rtlch \ltrch\loch\fs16\lang1031\loch\f4 +In Arbeit.} +\par }
\ No newline at end of file diff --git a/TemplePushing.c4s/DescUS.rtf b/TemplePushing.c4s/DescUS.rtf index 48f6839..7f6a723 100644 --- a/TemplePushing.c4s/DescUS.rtf +++ b/TemplePushing.c4s/DescUS.rtf @@ -1,65 +1,21 @@ -{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1031\deflangfe1031{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f36\froman\fcharset238\fprq2 Times New Roman CE;} -{\f37\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f39\froman\fcharset161\fprq2 Times New Roman Greek;}{\f40\froman\fcharset162\fprq2 Times New Roman Tur;}{\f41\froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\f42\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f43\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f44\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255; -\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0; -\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 \snext0 Normal;}{\*\cs10 \additive \ssemihidden -Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv -\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}{\*\rsidtbl \rsid417570\rsid2314777\rsid3282380\rsid3302305\rsid5054522\rsid5063892 -\rsid5189051\rsid5731503\rsid6165245\rsid6310542\rsid6817925\rsid7554459\rsid7734152\rsid9441714\rsid9796632\rsid10121665\rsid10813541\rsid11958464\rsid12083888\rsid12340038\rsid12978656\rsid13596000\rsid13963352\rsid13972291\rsid14243780\rsid14499138 -\rsid14899991\rsid15076825\rsid15214486\rsid15673683}{\*\generator Microsoft Word 10.0.2627;}{\info{\author Benjamin}{\operator Benjamin}{\creatim\yr2008\mo1\dy10\hr21\min49}{\revtim\yr2008\mo6\dy6\hr14\min29}{\version25}{\edmins0}{\nofpages1} -{\nofwords232}{\nofchars1464}{\*\company Privat}{\nofcharsws1693}{\vern16437}}\margl1417\margr1417\margt1417\margb1134 \widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120 -\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind4\viewscale170\nolnhtadjtbl\rsidroot15076825 \fet0\sectd \linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 -\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6 -\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang -{\pntxtb (}{\pntxta )}}\pard\plain \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\b\fs20\lang2057\langfe1031\langnp2057\insrsid7554459\charrsid14899991 Temple Pushing}{ -\fs20\lang2057\langfe1031\langnp2057\insrsid15214486\charrsid14899991 -\par }{\fs16\lang2057\langfe1031\langnp2057\insrsid15214486\charrsid14899991 -\par }{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459\charrsid7554459 It was a dark and stormy day}{\fs16\lang2057\langfe1031\langnp2057\insrsid10121665\charrsid7554459 , }{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459\charrsid7554459 -and the daylight was }{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459 almost not}{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459\charrsid7554459 recognizable}{\fs16\lang2057\langfe1031\langnp2057\insrsid10121665\charrsid7554459 . }{ -\fs16\lang2057\langfe1031\langnp2057\insrsid7554459\charrsid7554459 The raindrops splashed}{\fs16\lang2057\langfe1031\langnp2057\insrsid10121665\charrsid7554459 , }{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459\charrsid7554459 -and just the sound of thunder breaks the creepy silence}{\fs16\lang2057\langfe1031\langnp2057\insrsid10121665\charrsid7554459 . }{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459\charrsid7554459 This should be the last battle }{ -\fs16\lang2057\langfe1031\langnp2057\insrsid7554459 between}{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459\charrsid7554459 the tera-templer and}{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459 the fire-freaks}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid12083888\charrsid7554459 . }{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459\charrsid7554459 All the years there}{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459 were war between the two clans}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid12083888\charrsid7554459 . }{\fs16\lang2057\langfe1031\langnp2057\insrsid7554459\charrsid7554459 But this time, it turned out wich religion will survive}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid12083888\charrsid7554459 . }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 And this in a century-old ritual}{\fs16\lang2057\langfe1031\langnp2057\insrsid12083888\charrsid14243780 : }{ -\fs16\lang2057\langfe1031\langnp2057\insrsid14243780 The Cliff-Pushing.}{\fs16\lang2057\langfe1031\langnp2057\insrsid12083888\charrsid14243780 }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14899991 The rules are easy.}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid3302305\charrsid14899991 }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14899991 Who dies, loose}{\fs16\lang2057\langfe1031\langnp2057\insrsid12083888\charrsid14899991 . }{ -\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 Of course for this ritual one of the highest places on the planet has be}{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780 en}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780 choosed: The mountains of Hir}{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 a}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid14243780 g}{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 u.}{\fs16\lang2057\langfe1031\langnp2057\insrsid12083888\charrsid14243780 }{ -\fs16\lang2057\langfe1031\langnp2057\insrsid10121665\charrsid14243780 -\par }{\fs16\lang2057\langfe1031\langnp2057\insrsid14899991 -\par }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 An easy melee for 2-10 players}{\fs16\lang2057\langfe1031\langnp2057\insrsid7734152\charrsid14243780 ,}{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780 - wich needs skills with the clonk-control}{\fs16\lang2057\langfe1031\langnp2057\insrsid15673683\charrsid14243780 . }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 Every player got}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid15673683\charrsid14243780 5 }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 r}{\fs16\lang2057\langfe1031\langnp2057\insrsid15673683\charrsid14243780 elaunchs}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 at the }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780 start of }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 game}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid7734152\charrsid14243780 . }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 T}{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780 here are five game-modes}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid7734152\charrsid14243780 : }{\fs16\lang2057\langfe1031\langnp2057\insrsid15673683\charrsid14243780 -\par }{\fs16\lang2057\langfe1031\langnp2057\insrsid3302305\charrsid14243780 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid3302305 {\fs16\lang2057\langfe1031\langnp2057\insrsid3302305\charrsid14243780 Normal: }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 Every team starts on one side}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid3302305\charrsid14243780 . }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 Now every player tries to push down his opponent}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid3302305\charrsid14243780 . }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 This is made easier by lightning-strikes, rock-falls, earthquakes and meteorits.}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid14899991 By means of special clonks can push away enemys wich are in the near of them. A little tip: You can shot every flint except flints with schedules by means of the context or with double-dig.}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid3302305\charrsid14243780 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\fs16\lang2057\langfe1031\langnp2057\insrsid3302305\charrsid14243780 -\par }{\fs16\lang2057\langfe1031\langnp2057\insrsid15673683\charrsid14243780 Sudden-Death: }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 Every player tries to survive while }{\fs16\lang2057\langfe1031\langnp2057\insrsid13596000 -super-flints fall out of the sky}{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780\charrsid14243780 and }{\fs16\lang2057\langfe1031\langnp2057\insrsid14243780 warps }{\fs16\lang2057\langfe1031\langnp2057\insrsid14899991 appear}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid13596000 }{\fs16\lang2057\langfe1031\langnp2057\insrsid14899991 in}{\fs16\lang2057\langfe1031\langnp2057\insrsid13596000 the landscape.}{\fs16\lang2057\langfe1031\langnp2057\insrsid15214486\charrsid14243780 +{\rtf1\ansi\deff0\adeflang1025 +{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset1 Times New Roman;}{\f4\froman\fprq0\fcharset1 Times New Roman;}{\f5\fnil\fprq2\fcharset0 Microsoft YaHei;}{\f6\fnil\fprq2\fcharset0 Mangal;}{\f7\fnil\fprq0\fcharset1 Mangal;}} +{\colortbl;\red0\green0\blue0;\red128\green128\blue128;} +{\stylesheet{\s0\snext0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af8\langfe2052\dbch\af6\afs24\alang1081\loch\f0\fs24\lang1031 Standard;} +{\s15\sbasedon0\snext16\sb240\sa120\keepn\dbch\af5\dbch\af6\afs28\loch\f2\fs28 \u220\'dcberschrift;} +{\s16\sbasedon0\snext16\sb0\sa120 Textk\u246\'f6rper;} +{\s17\sbasedon16\snext17\sb0\sa120\dbch\af7 Liste;} +{\s18\sbasedon0\snext18\sb120\sa120\noline\i\dbch\af7\afs24\ai\fs24 Beschriftung;} +{\s19\sbasedon0\snext19\noline\dbch\af7 Verzeichnis;} +}{\info{\author Benjamin}{\creatim\yr2008\mo1\dy10\hr21\min49}{\revtim\yr2008\mo6\dy6\hr14\min29}{\printim\yr0\mo0\dy0\hr0\min0}{\comment LibreOffice}{\vern3600}}\deftab720 +\viewscale170 +{\*\pgdsctbl +{\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1417\margrsxn1417\margtsxn1417\margbsxn1134\pgdscnxt0 Standard;}} +\formshade{\*\pgdscno0}\paperh15840\paperw12240\margl1417\margr1417\margt1417\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn12240\pghsxn15840\marglsxn1417\margrsxn1417\margtsxn1417\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc +\pgndec\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af8\langfe2052\dbch\af6\afs24\alang1081\loch\f0\fs24\lang1031\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\b\langfe1031\rtlch \ltrch\loch\fs20\lang2057\loch\f4 +Temple Pushing} +\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af8\langfe2052\dbch\af6\afs24\alang1081\loch\f0\fs24\lang1031\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\langfe1031\rtlch \ltrch\loch\fs16\lang2057\loch\f4 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid15673683 {\fs16\lang2057\langfe1031\langnp2057\insrsid15673683\charrsid14243780 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid417570 {\fs16\lang2057\langfe1031\langnp2057\insrsid3302305\charrsid13596000 Speed-}{\fs16\lang2057\langfe1031\langnp2057\insrsid13596000\charrsid13596000 Fight}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid3302305\charrsid13596000 : }{\fs16\lang2057\langfe1031\langnp2057\insrsid13596000\charrsid13596000 The same as normal}{\fs16\lang2057\langfe1031\langnp2057\insrsid14899991 -mode}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid13596000\charrsid13596000 , just with higher speed.}{\fs16\lang2057\langfe1031\langnp2057\insrsid13596000 Instead of activating by double-dig, objects should be activated by double-special2}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid14899991 .}{\fs16\lang2057\langfe1031\langnp2057\insrsid417570\charrsid13596000 -\par -\par }{\fs16\lang2057\langfe1031\langnp2057\insrsid13596000\charrsid13596000 Magical Pushing}{\fs16\lang2057\langfe1031\langnp2057\insrsid417570\charrsid13596000 : }{\fs16\lang2057\langfe1031\langnp2057\insrsid13596000\charrsid13596000 -Instead of objects magic scrolls will be respawnt in the respawnpoints.}{\fs16\lang2057\langfe1031\langnp2057\insrsid417570\charrsid13596000 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid15673683 {\fs16\lang2057\langfe1031\langnp2057\insrsid10813541\charrsid13596000 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid10813541 {\fs16\lang2057\langfe1031\langnp2057\insrsid417570\charrsid13596000 Ultimate Extreme }{\fs16\lang2057\langfe1031\langnp2057\insrsid13596000\charrsid13596000 Pushing}{ -\fs16\lang2057\langfe1031\langnp2057\insrsid417570\charrsid13596000 : }{\fs16\lang2057\langfe1031\langnp2057\insrsid13596000 Meteorits got a higher range, and sometimes flames fall out of the sky. If on player }{ -\fs16\lang2057\langfe1031\langnp2057\insrsid5054522 reachs the bottom, he automaticly will be created on the top on the level. Every player gots just 2 relaunches! }{\fs16\lang2057\langfe1031\langnp2057\insrsid10813541\charrsid13596000 -\par }{\fs16\lang2057\langfe1031\langnp2057\insrsid14899991 -\par }{\fs16\lang2057\langfe1031\langnp2057\insrsid5054522\charrsid5054522 This scenario needs the}{\fs16\lang2057\langfe1031\langnp2057\insrsid12978656\charrsid5054522 Fanatsy-Pack.}{\fs16\lang2057\langfe1031\langnp2057\insrsid417570\charrsid5054522 -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\fs16\lang2057\langfe1031\langnp2057\insrsid15673683\charrsid5054522 -\par }{\fs16\lang2057\langfe1031\langnp2057\insrsid10813541\charrsid5054522 -\par }}
\ No newline at end of file +\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af8\langfe2052\dbch\af6\afs24\alang1081\loch\f0\fs24\lang1031\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\langfe1031\rtlch \ltrch\loch\fs16\lang2057\loch\f4 +To be written.} +\par }
\ No newline at end of file diff --git a/TemplePushing.c4s/Environment.c4d/LavaRainDrop.c4d/Graphics.png b/TemplePushing.c4s/Environment.c4d/LavaRainDrop.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..15acff0 --- /dev/null +++ b/TemplePushing.c4s/Environment.c4d/LavaRainDrop.c4d/Graphics.png diff --git a/TemplePushing.c4s/Environment.c4d/LavaRainDrop.c4d/Names.txt b/TemplePushing.c4s/Environment.c4d/LavaRainDrop.c4d/Names.txt new file mode 100644 index 0000000..b6dfe11 --- /dev/null +++ b/TemplePushing.c4s/Environment.c4d/LavaRainDrop.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Lavaregentropfen +US:Lava raindrop diff --git a/TemplePushing.c4s/Environment.c4d/LavaRainDrop.c4d/Particle.txt b/TemplePushing.c4s/Environment.c4d/LavaRainDrop.c4d/Particle.txt new file mode 100644 index 0000000..2ed9851 --- /dev/null +++ b/TemplePushing.c4s/Environment.c4d/LavaRainDrop.c4d/Particle.txt @@ -0,0 +1,13 @@ +[Particle] +Name=LavaRaindrop +MaxCount=600 +InitFn=StdInit +ExecFn=StdExec +CollisionFn=Die +DrawFn=Std +Face=0,0,64,64,-32,-32 +Delay=0 +GravityAcc=70 +RByV=1 +VertexCount=1 +Additive=0 diff --git a/TemplePushing.c4s/LobbySky.jpg b/TemplePushing.c4s/LobbySky.jpg Binary files differnew file mode 100644 index 0000000..93c1576 --- /dev/null +++ b/TemplePushing.c4s/LobbySky.jpg diff --git a/TemplePushing.c4s/Material.c4g/BackAcid.c4m b/TemplePushing.c4s/Material.c4g/BackAcid.c4m new file mode 100644 index 0000000..dc60d4b --- /dev/null +++ b/TemplePushing.c4s/Material.c4g/BackAcid.c4m @@ -0,0 +1,7 @@ +[Material] +Name=BackRedAcid +Color=190,0,0,200,0,0,210 +Shape=0 +Density=0 +Placement=10 +TextureOverlay=Liquid diff --git a/TemplePushing.c4s/Material.c4g/BackBrick.c4m b/TemplePushing.c4s/Material.c4g/BackBrick.c4m new file mode 100644 index 0000000..88b19f5 --- /dev/null +++ b/TemplePushing.c4s/Material.c4g/BackBrick.c4m @@ -0,0 +1,8 @@ +[Material] +Name=BackBrick +Color=26,20,14,26,25,15,28,31,23 +Shape=0 +Density=50 +Placement=60 +TextureOverlay=Brick +OverlayType=1 diff --git a/TemplePushing.c4s/Material.c4g/BackLava.c4m b/TemplePushing.c4s/Material.c4g/BackLava.c4m new file mode 100644 index 0000000..b918001 --- /dev/null +++ b/TemplePushing.c4s/Material.c4g/BackLava.c4m @@ -0,0 +1,8 @@ +[Material] +Name=BackLava +Color=245,200,15,248,220,18,251,240,15 +ColorAnimation=1 +Shape=0 +Density=0 +Placement=10 +TextureOverlay=Liquid diff --git a/TemplePushing.c4s/Material.c4g/BackWall.c4m b/TemplePushing.c4s/Material.c4g/BackWall.c4m new file mode 100644 index 0000000..ec58106 --- /dev/null +++ b/TemplePushing.c4s/Material.c4g/BackWall.c4m @@ -0,0 +1,7 @@ +[Material] +Name=BackWall +Color=26,20,14,26,25,15,28,31,23 +Shape=0 +Placement=60 +TextureOverlay=Brick +OverlayType=1 diff --git a/TemplePushing.c4s/Material.c4g/DarkBrick.c4m b/TemplePushing.c4s/Material.c4g/DarkBrick.c4m new file mode 100644 index 0000000..dd03abe --- /dev/null +++ b/TemplePushing.c4s/Material.c4g/DarkBrick.c4m @@ -0,0 +1,8 @@ +[Material] +Name=DarkBrick +Color=62,50,38,62,60,40,86,72,56 +Shape=0 +Density=50 +Placement=60 +TextureOverlay=Brick +OverlayType=1 diff --git a/TemplePushing.c4s/Material.c4g/DarkenB.png b/TemplePushing.c4s/Material.c4g/DarkenB.png Binary files differdeleted file mode 100644 index 2256e2b..0000000 --- a/TemplePushing.c4s/Material.c4g/DarkenB.png +++ /dev/null diff --git a/TemplePushing.c4s/Material.c4g/LavaBrick.c4m b/TemplePushing.c4s/Material.c4g/LavaBrick.c4m new file mode 100644 index 0000000..51edb4a --- /dev/null +++ b/TemplePushing.c4s/Material.c4g/LavaBrick.c4m @@ -0,0 +1,8 @@ +[Material] +Name=LavaBrick +Color=245,200,15,248,220,18,251,240,15 +ColorAnimation=1 +Shape=0 +Density=50 +Placement=10 +TextureOverlay=Liquid diff --git a/TemplePushing.c4s/Material.c4g/RedAcid.c4m b/TemplePushing.c4s/Material.c4g/RedAcid.c4m new file mode 100644 index 0000000..19058d7 --- /dev/null +++ b/TemplePushing.c4s/Material.c4g/RedAcid.c4m @@ -0,0 +1,12 @@ +[Material] +Name=RedAcid +Color=190,0,0,200,0,0,210 +ColorAnimation=1 +Density=25 +Instable=1 +MaxAirSpeed=25 +MaxSlide=10000 +WindDrift=30 +Corrosive=75 +Placement=10 +TextureOverlay=Liquid diff --git a/TemplePushing.c4s/Material.c4g/RedAcidBrick.c4m b/TemplePushing.c4s/Material.c4g/RedAcidBrick.c4m new file mode 100644 index 0000000..6a436ee --- /dev/null +++ b/TemplePushing.c4s/Material.c4g/RedAcidBrick.c4m @@ -0,0 +1,7 @@ +[Material] +Name=RedAcidBrick +Color=190,0,0,200,0,0,210,0,0 +ColorAnimation=1 +Density=50 +Placement=10 +TextureOverlay=Liquid diff --git a/TemplePushing.c4s/Material.c4g/Sky2.jpg b/TemplePushing.c4s/Material.c4g/Sky2.jpg Binary files differdeleted file mode 100644 index d060665..0000000 --- a/TemplePushing.c4s/Material.c4g/Sky2.jpg +++ /dev/null diff --git a/TemplePushing.c4s/Material.c4g/SkyCrystal.c4m b/TemplePushing.c4s/Material.c4g/SkyCrystal.c4m new file mode 100644 index 0000000..4ea4ae3 --- /dev/null +++ b/TemplePushing.c4s/Material.c4g/SkyCrystal.c4m @@ -0,0 +1,7 @@ +[Material] +Name=SkyCrystal +Color=255,255,255 +Alpha=125,125,125,0,0,0 +Shape=0 +Density=50 +TextureOverlay=Structure diff --git a/TemplePushing.c4s/Material.c4g/SkyCrystalWall.c4m b/TemplePushing.c4s/Material.c4g/SkyCrystalWall.c4m new file mode 100644 index 0000000..30ba585 --- /dev/null +++ b/TemplePushing.c4s/Material.c4g/SkyCrystalWall.c4m @@ -0,0 +1,7 @@ +[Material] +Name=SkyCrystalWall +Color=255,255,255 +Alpha=155,155,155,0,0,0 +Shape=0 +Density=0 +TextureOverlay=Structure diff --git a/TemplePushing.c4s/Material.c4g/SmallRock.png b/TemplePushing.c4s/Material.c4g/SmallRock.png Binary files differdeleted file mode 100644 index 7e6946c..0000000 --- a/TemplePushing.c4s/Material.c4g/SmallRock.png +++ /dev/null diff --git a/TemplePushing.c4s/Material.c4g/TexMap.txt b/TemplePushing.c4s/Material.c4g/TexMap.txt index 7eca11c..8baf784 100644 --- a/TemplePushing.c4s/Material.c4g/TexMap.txt +++ b/TemplePushing.c4s/Material.c4g/TexMap.txt @@ -5,7 +5,7 @@ OverloadMaterials # Import textures from global file as well OverloadTextures -1=Tunnel-SmallRock +1=Tunnel-Rough 2=Wall-Flat 3=Wall-RoughDark 4=Tunnel-RoughDark @@ -13,22 +13,22 @@ OverloadTextures 6=Wall-Structure3 7=FlyAshes-Brick 8=Wall-Brick -9=Wall-SmallRock +9=BackWall-Brick 10=Tunnel-Smooth 11=Tunnel-Smooth2 -12=Wall-WallStuff -13=Acid-Liquid -14=Ashes-Spots -15=Crystal-Structure +12=SkyCrystalWall-RoughDark +13=RedAcid-Liquid +14=BackRedAcid-Liquid +15=SkyCrystal-Brick 16=FlyAshes-Spots 17=Ice-Sponge 18=DuroLava-LIQUID -19=DuroLava-Smooth +19=BackLava-Liquid 20=Water-Fleckig 21=Oil-Smooth 22=Acid-Smooth 23=Lava-Smooth -24=DuroLava-Smooth +24=LavaBrick-Liquid 25=Water-Smooth 26=Oil-Smooth 27=Ashes-RoughDark @@ -42,12 +42,10 @@ OverloadTextures 35=Earth-Flare 36=Ore-Rough 37=Brick-Flat -38=Brick-SmallRock -39=Brick-DarkenB +38=Brick-Liquid 40=Brick-RoughDark 41=Lava-Liquid 42=Oil-Liquid -43=Brick-TransB 44=Ore-Structure 45=Gold-Rough 46=Snow-Spots @@ -64,14 +62,14 @@ OverloadTextures 57=Sand-Smooth3 58=FlySand-Smooth 59=FlyAshes-Smooth -60=Crystal-Flare +60=SkyCrystal-Structure 61=Water-Liquid -62=Brick-Brick +62=DarkBrick-Brick 63=Brick-Rough 64=Wall-Rough -65=Ice-Flare2 -66=Ice-Flare3 -68=Ice-Structure2 +65=BackBrick-Brick +66=Ice=Flare1 +68=RedAcidBrick-Liquid 71=Ashes-Rough 72=FlyAshes-Rough 80=FlySand-Smooth2 diff --git a/TemplePushing.c4s/Material.c4g/TransB.png b/TemplePushing.c4s/Material.c4g/TransB.png Binary files differdeleted file mode 100644 index c724960..0000000 --- a/TemplePushing.c4s/Material.c4g/TransB.png +++ /dev/null diff --git a/TemplePushing.c4s/Material.c4g/Wall.c4m b/TemplePushing.c4s/Material.c4g/Wall.c4m index 96a2b90..951e7d8 100644 --- a/TemplePushing.c4s/Material.c4g/Wall.c4m +++ b/TemplePushing.c4s/Material.c4g/Wall.c4m @@ -1,7 +1,7 @@ [Material] Name=Wall Color=62,50,38,62,60,40,86,72,56 -Shape=2 +Shape=0 Placement=5 -TextureOverlay=SmallRock +TextureOverlay=RoughDark OverlayType=1 diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DefCore.txt new file mode 100644 index 0000000..214c847 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=ICNL +Name=Eisnadeln +Version=4,9,5,4 +Category=131073 +Picture=0,0,64,64 +Value=12 +Components=ICRS=3;IICE=2;
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescDE.txt new file mode 100644 index 0000000..e7fbadb --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescDE.txt @@ -0,0 +1 @@ +Schießt Eisnadeln vom Zauberer weg.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescUS.txt new file mode 100644 index 0000000..f56d320 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescUS.txt @@ -0,0 +1 @@ +Shoots ice needles in the selected direction.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/ActMap.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/ActMap.txt new file mode 100644 index 0000000..7dec40a --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/ActMap.txt @@ -0,0 +1,7 @@ +[Action] +Name=Fly +Procedure=FLOAT +Length=1 +Delay=1 +NextAction=Fly +FacetBase=1 diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DefCore.txt new file mode 100644 index 0000000..13db5ff --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DefCore.txt @@ -0,0 +1,20 @@ +[DefCore] +id=ICNA +Name=Eisnadel +Version=4,9,5 +Category=4 +MaxUserSelect=10 +Width=12 +Height=3 +Offset=-6,-1 +Value=10 +Mass=10 +Timer=2 +TimerCall=Check +Vertices=1 +VertexX=1 +VertexFriction=20 +Rotate=1 + +[Physical] +Float=500
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescDE.txt new file mode 100644 index 0000000..a5ea66e --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescDE.txt @@ -0,0 +1 @@ +Frostig.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescUS.txt new file mode 100644 index 0000000..8cbca28 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescUS.txt @@ -0,0 +1 @@ +Very cold.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..d598ba4 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Particle.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Particle.txt new file mode 100644 index 0000000..b6f0130 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Particle.txt @@ -0,0 +1,14 @@ +[Particle] +Name=FSSpark +MaxCount=2000 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +Face=0,0,32,32,-16,-16 +Delay=0 +Repeats=6 +GravityAcc=0 +AlphaFade=4 +Additive=1 +Attach=1 +RByV=1
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..b00b2f5 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..7fd2df2 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Particle.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Particle.txt new file mode 100644 index 0000000..61c3b8b --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Particle.txt @@ -0,0 +1,14 @@ +[Particle] +Name=MaterialParticle +MaxCount=350 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +CollisionFn=Die +Face=0,0,28,43,-15,-5 +Repeats=10 +GravityAcc=70 +RByV=1 +Delay=175 +VertexCount=1 +AlphaFade=0
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..ba84750 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Particle.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Particle.txt new file mode 100644 index 0000000..63d5355 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Particle.txt @@ -0,0 +1,16 @@ +[Particle] +Name=MaterialParticle2 +MaxCount=3500 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +CollisionFn=Die +Face=0,0,28,43,-15,-5 +Repeats=1 +GravityAcc=0 +RByV=1 +Delay=0 +VertexCount=1 +AlphaFade=4 +Additive=1 +Attach=1
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Script.c new file mode 100644 index 0000000..98f3eaf --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Script.c @@ -0,0 +1,176 @@ +/*-- Eislanze --*/ + +#strict +static const ICNA_Speed=50; + +local timer; +local iOldX, iOldY; +local Gift; +local iAngle; +local Caster; +local Randi; + +func Initialize() { +Gift=0; + timer=0; + return(1); +} + +public func Activate(pCaster,Angle) +{ + SetAction("Fly"); + var xDir,yDir; +// SetR(Angle-100+RandomX(0,20)); + iAngle = Angle-10+RandomX(0,20); + SetR(iAngle-90); + Caster = pCaster; +// xDir=Cos(iAngle-90,ICNA_Speed); +// yDir=Sin(iAngle-90,ICNA_Speed); +// SetXDir(xDir+RandomX(-10,10)); +// SetYDir(yDir+RandomX(-10,10)); +// iOldX = GetX(); iOldY = GetY(); +} + +protected func Hit() +{ + if(CheckHit()) return(); + CastParticles("MaterialParticle",20,50,0,0,20,60,RGB(50,120,255),RGB(00,120,255)); + if(!Random(3)) RemoveObject(); + if(GetR() > 180) iAngle = iAngle-iAngle*2; + if(GetR() < 180) iAngle = iAngle+iAngle*2; + var iMinAngleDiff = 360, iTargetAngle = iAngle; + var pObj; + while (pObj = FindObject(0, Sin(iAngle, 200)-200/2, -Cos(iAngle, 200)-200/2, 200, 200, OCF_CrewMember, 0,0, NoContainer(), pObj)) + { + if (!GetAlive(pObj)) continue; + if(pObj == Caster) continue; + if(!PathFree(GetX(),GetY(),GetX(pObj),GetY(pObj))) continue; + var iThisTargetAngle = Angle(GetX(), GetY(), GetX(pObj), GetY(pObj)); + if (iThisTargetAngle > 180) iThisTargetAngle -= 360; + if (Abs(iThisTargetAngle - iAngle) < iMinAngleDiff) + { + iMinAngleDiff = Abs(iThisTargetAngle - iAngle); + iTargetAngle = iThisTargetAngle; + } + } + iAngle = BoundBy(iTargetAngle, iAngle-Randi, iAngle+Randi); +} + +protected func Check() +{ +//CheckCrash(this()); +// SetXDir(Cos(GetR(), 245000) * 2, 0, 100000); +// SetYDir(Sin(GetR(), 245000) * 2, 0, 100000); + Randi = RandomX(0,20); + SetR(iAngle); + SetXDir(Sin(iAngle, 50)); + SetYDir(-Cos(iAngle, 50)); + + // SetXDir(Sin(iAngle, 80)); + // SetYDir(-Cos(iAngle, 80)); + + var iMinAngleDiff = 360, iTargetAngle = iAngle; + var pObj; + while (pObj = FindObject(0, Sin(iAngle, 200)-200/2, -Cos(iAngle, 200)-200/2, 200, 200, OCF_CrewMember, 0,0, NoContainer(), pObj)) + { + if (!GetAlive(pObj)) continue; + if(pObj == Caster) continue; + if(!PathFree(GetX(),GetY(),GetX(pObj),GetY(pObj))) continue; + var iThisTargetAngle = Angle(GetX(), GetY(), GetX(pObj), GetY(pObj)); + if (iThisTargetAngle > 180) iThisTargetAngle -= 360; + if (Abs(iThisTargetAngle - iAngle) < iMinAngleDiff) + { + iMinAngleDiff = Abs(iThisTargetAngle - iAngle); + iTargetAngle = iThisTargetAngle; + } + } + iAngle = BoundBy(iTargetAngle, iAngle-Randi, iAngle+Randi); + + if(++timer > 100)RemoveObject(); + //if(!GetR() == iAngle-90){ + //if(GetR() < iAngle-90) SetRDir(1); + //if(GetR() > iAngle-90) SetRDir(-1); + //} + //if(GetR() == iAngle-80+RandomX(0,20)) SetRDir(0); + if(ObjectDistance(this(),pObj) < 40) SetR(iAngle-90); + +if(!Gift==1) + { + // CreateParticle("PSpark",0,0,0,0,20,RGBa(0,RandomX(100,120),RandomX(160,255),90)); + CreateParticle("PSpark",0,0,0,0,180,RGBa(0,RandomX(100,120),RandomX(160,255),120)); + CreateParticle("FSSpark",0,0,0,0,150,RGB(0,RandomX(100,120),RandomX(160,255))); + //CreateParticle("PSpark",-GetXDir()/5,-GetYDir()/5,0,0,40,RGB(0,RandomX(100,120),RandomX(160,255))); + //CreateParticle("PSpark",-GetXDir()/2,-GetYDir()/2,0,0,40,RGB(0,RandomX(100,120),RandomX(160,255))); + CreateParticle("MaterialParticle2",0,0,RandomX(2,-2)-GetXDir()/2,RandomX(2,-2)-GetYDir()/2,250,RGB(0,RandomX(100,120),RandomX(160,255))); + } +else +{ + CreateParticle("FSSpark",0,0,0,0,150,RGB(100,255,0)); + CreateParticle("PSpark",0,0,0,0,180,RGBa(100,255,0,120)); + CreateParticle("MaterialParticle2",0,0,RandomX(2,-2)-GetXDir()/2,RandomX(2,-2)-GetYDir()/2,250,RGB(100,255,0)); + } + // Auf Treffer prüfen + CheckHit(); + iOldX = GetX(); iOldY = GetY(); +/* var pClonk=0; + while(pClonk=FindObject(0,0,-1,0,0,OCF_Alive(),0,0,NoContainer(),pClonk)) + { + if(!ObjectCount(NTMG))if(Hostile(GetOwner(),GetOwner(pClonk)))continue; + Punch(pClonk,4); + RemoveObject(); + }*/ +} + +private func CheckHit() +{ + // Nur wenn schon passende Werte da sind + if(!iOldX && !iOldY) return(); + // Distance zur letzten Position berechnen + var iXDist = GetX()-iOldX; + var iYDist = GetY()-iOldY; + // Treffer-Überprüfung + var iSteps = Abs(iXDist/4); + if(Abs(GetXDir())<Abs(GetYDir())) iSteps = Abs(iYDist/4); + var iX, iY, pObj; + // Mit Schleife alle Zwischenpunkte abklappern + for(var i = iSteps; i; i--) + { + iX = -iXDist*i/iSteps; iY = -iYDist*i/iSteps; + if(!iY) iY = 1; +// CreateParticle("NoGravSpark", iX, iY, 0, 0, 30, RGB(i*255/iSteps, (iSteps-i)*255/iSteps)); + var pFObj; + if(pFObj = FindObject(0, iX, iY, 0, 0, OCF_OnFire(), 0, 0, NoContainer())) { + if(!Random(3)) RemoveObject(this()); + } + if(pObj = FindObject(0, iX, iY, 0, 0, OCF_Alive(), 0, 0, NoContainer())) return(HitLiving(pObj)); + } +} + +private func HitLiving (living,pObj) +{ +if(living == Caster) return(0); +CastParticles("MaterialParticle",20,50,0,0,20,60,RGB(50,120,255),RGB(00,120,255)); +Sound("Crystal2", this()); +if(!Gift==1) + { + Sound("Hited", living); + // Schaden machen + Punch(living, 12); + if(!Frozen(living)) Freeze(living, EffectVar(4)); + return(RemoveObject()); + } +if(Gift==1) +{ + Sound("Hited", living); + // Schaden machen + Punch(living, (10)); + return(RemoveObject()); + } + } + + +protected func Destruction() +{ + CreateParticle("PSpark", RandomX(-1,2), RandomX(-2,1), RandomX(-3,2), RandomX(-2,1), RandomX(150,90), RGB(010,035,94)); + CreateParticle("PSpark", RandomX(-2,1), RandomX(-1,2), RandomX(-2,3), RandomX(-1,2), RandomX(150,90), RGB(012,040,94)); +}
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..d58fd63 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Names.txt new file mode 100644 index 0000000..78ba18b --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Eisnadeln +US:Ice needle
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c new file mode 100644 index 0000000..1d439bf --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c @@ -0,0 +1,125 @@ +/* Eisnadeln */ + +#strict + +local Combo; + + + +func Activate(pCaster,pRealcaster) { +Combo=0; +Sound("Magic",0,pCaster); +if(FindContents(ABRL,pCaster)) +{ +Combo=1; +RemoveObject(FindContents(ABRL,pCaster)); +} + var pClonk; + if(pRealcaster) pClonk=pRealcaster; + else pClonk=pCaster; + + // Zielen wenn möglich + if (pClonk->~DoSpellAim(this())) return(1); + + var angle=-90; + if(GetDir(pClonk) == DIR_Right()) angle=90; + ActivateAngle(pClonk,angle); + RemoveObject(); + return(1); +} + +// Aktivierung nach Zielen (iAngle: -90=links; 0=oben; +90=rechts) +public func ActivateAngle(object pCaller, int iAngle) + { + //var pEffer = CreateObject(_WE_,0,0,GetOwner(this())); + //GetTarget(object pTarget,int Interval, string Element, int ElementNumber, int R, int G, int B, int a) + //pEffer -> GetTarget(pCaller,0, "Water", 0, 100, 100, 255, 120); + var WasserF = FindContents(WBRL,pCaller); + if(WasserF) + { + RemoveObject(WasserF); + CreateContents(FLNT,this()); + } + if(!FindContents(FLNT,this())) + { + for(var cnt=0;cnt<3;cnt++) + { + var f=CreateObject(ICNA,AbsX(GetX(pCaller))+Cos(iAngle-90,13),AbsY(GetY(pCaller))+Sin(iAngle-90,13),GetOwner(pCaller)); + f->Activate(pCaller,iAngle); + if(Combo==1) f->LocalN("Gift",f)=1; + var combo = FindContents(ICE1,pCaller); + if(combo) + { + RemoveObject(combo); + f->CreateContents(ROCK); + } + } + AddEffect("RecallMFCSAiming",pCaller,20,1,0,GetID(),iAngle); + + // Objekt löschen + RemoveObject(); + return(1); + } + if(FindContents(FLNT,this())) + { + for(var cnt=0;cnt<6;cnt++) + { + var f=CreateObject(ICNA,AbsX(GetX(pCaller))+Cos(iAngle-90,13),AbsY(GetY(pCaller))+Sin(iAngle-90,13),GetOwner(pCaller)); + f->Activate(pCaller,iAngle); + if(Combo==1) f->LocalN("Gift",f)=1; + var combo1 = FindContents(ICE1,pCaller); + if(combo1) + { + RemoveObject(combo1); + f->CreateContents(ROCK); + } + } + AddEffect("RecallMFCSAiming",pCaller,20,1,0,GetID(),iAngle); + + // Objekt löschen + RemoveObject(); + return(1); + } +} +public func HoldAimer(pCaller) +{ + return(true); +} + +protected func FxRecallICNAAimingStart(pTarget,iEffectNumber,bTemp,par1){ +EffectVar(0,pTarget,iEffectNumber)=par1; +EffectVar(1,pTarget,iEffectNumber)=0; +EffectVar(2,pTarget,iEffectNumber)=0; +return(1);} + +protected func FxRecallICNAAimingTimer(pTarget,iEffectNumber) +{ + if(GetAction(pTarget) eq "Magic")return(0); + + if(!EffectVar(1,pTarget,iEffectNumber)) + { + pTarget->~DoMagic(ICNA); + EffectVar(1,pTarget,iEffectNumber)=1; + } + + if(!EffectVar(2,pTarget,iEffectNumber) && GetAction(pTarget) eq "AimMagic") + { + var pAimer=FindObject(AIMR,0,0,0,0,0,0,pTarget,NoContainer()); + if(pAimer) + { + LocalN("iAngle",pAimer)=EffectVar(0,pTarget,iEffectNumber); + LocalN("pArrow",pAimer)->~UpdateAngle(EffectVar(0,pTarget,iEffectNumber)); + pAimer->~UpdateAngle(EffectVar(0,pTarget,iEffectNumber)); + pTarget->~AimingAngle(EffectVar(0,pTarget,iEffectNumber)); + EffectVar(2,pTarget,iEffectNumber)=1; + } + } + if(!WildcardMatch(GetAction(pTarget),"*Magic*") && !WildcardMatch(GetAction(pTarget),"*Aim*"))return(-1); + + if(EffectVar(2,pTarget,iEffectNumber) && EffectVar(1,pTarget,iEffectNumber))return(-1); +} + +/* Zaubercombo */ + +public func GetSpellClass(object pMage) { return(WATR); } +public func GetSpellCombo(pMage) { return ("444"); } // (1: Backward; 2: Down; 3: Forward; 4: Throw; 5: Jump; 6: Dig) diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DefCore.txt new file mode 100644 index 0000000..92b2cae --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DefCore.txt @@ -0,0 +1,10 @@ +[DefCore] +id=LAVS +Version=4,0,2 +Name=Lavastoß +Category=131072 +Width=1 +Height=1 +Value=25 +Components=IBON=2; +Picture=0,0,40,40 diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescDE.txt new file mode 100644 index 0000000..45fcbe1 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescDE.txt @@ -0,0 +1 @@ +Entzündet getroffende Lebewesen. diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescUS.txt new file mode 100644 index 0000000..068fb1b --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescUS.txt @@ -0,0 +1 @@ +Sets animals and clonks on fire. diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..4a566f5 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Names.txt new file mode 100644 index 0000000..f90356d --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Lavaschuss +US:Lavashot diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Script.c new file mode 100644 index 0000000..40c23c1 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Script.c @@ -0,0 +1,41 @@ +/*-- Lavaschuss --*/ + +#strict + +func Activate(pCaster,pRealcaster) { + var pClonk; + if(pRealcaster) pClonk=pRealcaster; + else pClonk=pCaster; + + var iResult; + if (iResult = CheckEffect("Blast", 0, 125)) return(iResult!=-1 && RemoveObject()); + + // Zielen wenn möglich + if (pClonk->~DoSpellAim(this())) return(1); + + // Schuss erzeugen + var obj = CreateObject(_LVS, 0, 0, GetOwner(pClonk)); + obj->Launch(pClonk, GetDir(pClonk), GetX(pClonk), GetY(pClonk), 0); + Sound("Inflame"); + RemoveObject(); + return(1); +} + +// Aktivierung nach Zielen (iAngle: -90=links; 0=oben; +90=rechts) +public func ActivateAngle(object pCaller, int iAngle) + { + // Schuss erzeugen + var obj = CreateObject(_LVS, 0, 0, GetOwner(pCaller)); + obj->Launch(pCaller,GetDir(pCaller), GetX(pCaller), GetY(pCaller), (900-iAngle*10)); + Sound("Inflame"); + + // Objekt löschen + RemoveObject(); + return(1); + } + +// Zielspruch (für Artefaktzauber) +public func IsAimerSpell() { return(1); } + +public func GetSpellClass(object pMage) { return(FIRE); } +public func GetSpellCombo(pMage) { return ("445"); } // (1: Backward; 2: Down; 3: Forward; 4: Throw; 5: Jump; 6: Dig) diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/ActMap.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/ActMap.txt new file mode 100644 index 0000000..12e0a38 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/ActMap.txt @@ -0,0 +1,15 @@ +[Action] +Name=Advance +Procedure=NONE +Delay=1 +NextAction=Advance +StartCall=Advance + +[Action] +Name=Connect +Procedure=NONE +Length=30 +Delay=1 +EndCall=Remove +PhaseCall=Sparkle +
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DefCore.txt new file mode 100644 index 0000000..662d677 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DefCore.txt @@ -0,0 +1,11 @@ +[DefCore] +id=_LVS +Name=Lavaschuss +Version=4,9,5 +Category=1 +Width=1 +Height=1 +Mass=1 +Picture=0,0,40,40 +Vertices=0 +
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescDE.txt new file mode 100644 index 0000000..05309b0 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescDE.txt @@ -0,0 +1 @@ +Heiße Entladung. diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescUS.txt new file mode 100644 index 0000000..9d565c4 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescUS.txt @@ -0,0 +1 @@ +Flaming discharge. diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..4a566f5 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..255f4f7 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Particle.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Particle.txt new file mode 100644 index 0000000..77dc4e1 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Particle.txt @@ -0,0 +1,15 @@ +[Particle] +Name=LightningSpark +MaxCount=10000 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +#CollisionFn=Stop +Face=0,0,26,26,-13,-13 +Repeats=1 +GravityAcc=0 +AlphaFade=100 +#VertexCount=1 +#VertexY=-50 +Additive=1 +Attach=1 diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..255f4f7 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Particle.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Particle.txt new file mode 100644 index 0000000..5242de2 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Particle.txt @@ -0,0 +1,15 @@ +[Particle] +Name=LightningSpark2 +MaxCount=10000 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +#CollisionFn=Stop +Face=0,0,26,26,-13,-13 +Repeats=1 +GravityAcc=0 +AlphaFade=10 +#VertexCount=1 +#VertexY=-50 +Additive=1 +Attach=1 diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Names.txt new file mode 100644 index 0000000..546785a --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Blitz +US:Lightning diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c new file mode 100644 index 0000000..06c981f --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c @@ -0,0 +1,167 @@ +/*-- Lavaschuss --*/ + +#strict + +/* Locals */ + +local iAdvX, iVarX, // Bewegung / Abweichung X + iAdvY, iVarY; // Bewegung / Abweichung Y +local pCaster; + +func Initialize() { + //Killtrace Effect + AddEffect("KillTraceHelper",this(),175,0,this(),GetID(this())); + } + +/* Aktivierung */ + +public func Activate(iStartX, iStartY, iAdvanceX, iRandomX, iAdvanceY, iRandomY) +{ + // Startposition + AddVertex(iStartX,iStartY); + // Bewegungsverhalten + iAdvX=iAdvanceX; iVarX=iRandomX; + iAdvY=iAdvanceY; iVarY=iRandomY; + // Aktion setzen + SetAction("Advance"); + // Geräusch + if (!Random(5)) Sound("Inflame"); + return(1); +} + +public func Launch(pClonk, iDir, iX, iY, iAngle) +{ + pCaster=pClonk; + var XDir; + XDir = Cos(iAngle, 10, 10); +// if (iDir == DIR_Left()) XDir = -Cos(iAngle, 10, 10); +// else (XDir = +Cos(iAngle, 10, 10)); + Activate(iX, iY, XDir, 0, -Sin(iAngle, 10, 10)); + return(1); +} + +private func Timer() +{ + + var i=0; + var pObject = FindObject(0,-2,-2,4,4,OCF_Inflammable); + if(pObject) + if(pObject != pCaster) { + //Nicht benötigt, macht Query Catch Blow + //if(GetEffect("KillSymbols",pObject)) SetKillSymbols(pObject,GetEffect("KillSymbols",pObject),DFLM,GetEffect("KillTraceHelper",this())); + Incinerate(pObject); + } + // Partikel-Effekt + while(i<GetVertexNum()-1) + { + DrawParticleLine ("LightningSpark", GetVertex(i)-GetX(), GetVertex(i, 1)-GetY(), + GetVertex(i+1)-GetX(), GetVertex(i+1,1)-GetY(), 6, 60, RGB(250,100,0)); + DrawParticleLine ("LightningSpark", GetVertex(i)-GetX(), GetVertex(i, 1)-GetY(), + GetVertex(i+1)-GetX(), GetVertex(i+1,1)-GetY(), 3, 25, RGB(250,050,025)); + i++; + + //CreateParticle("PSpark", RandomX(-3,4), RandomX(-1,2), RandomX(-2,1), RandomX(-1,2), RandomX(10,20), RGB(250,020,010)); + //CreateParticle("PSpark", RandomX(-3,3), RandomX(-2,2), RandomX(-2,2), RandomX(-2,2), RandomX(20,50), RGB(250,050,020)); + + + } +} + +/* Bewegung */ + +private func Advance() +{ + // Einschlag + var iVtx = GetVertexNum()-1, iVtxX = GetVertex(iVtx, 0), iVtxY = GetVertex(iVtx, 1); + if (GBackSolid(iVtxX-GetX(), iVtxY-GetY() )) + return(Remove()); + + // Neuen Eckpunkt + if (!AddVertex( iVtxX+iAdvX+RandomX(-5,5), iVtxY+iAdvY+RandomX(-5,5))) + return(Remove()); + + SetPosition(GetVertex(GetVertexNum()), GetVertex(GetVertexNum(), 1)); + + // Im Wasser? + if (GBackLiquid(iVtxX-GetX(), iVtxY-GetY() )) + { + var obj; + // Alle Lebewesen in der Nähe bekommen was ab + while (obj = FindObject( 0, iVtxX-GetX()-400, iVtxY-GetY()-400, 800, 800, OCF_Alive(), 0,0, NoContainer(),obj ) ) + { + if(!PathFree(iVtxX, iVtxY, GetX(obj), GetY(obj))) continue; + if(!GBackLiquid(GetX(obj)-GetX(), GetY(obj)-GetY())) continue; + obj->~LightningStrike(); + Punch(obj, 20); + //Regelt Query Catch Blow + //if(GetEffect("KillSymbols",obj)) SetKillSymbols(obj,GetEffect("KillSymbols",obj),_LVS); + + + DrawParticleLine ("LightningSpark2", iVtxX-GetX(), iVtxY-GetY(), + GetX(obj)-GetX(), GetY(obj)-GetY(), 6, 60, RGB(255,010,055)); + DrawParticleLine ("LightningSpark2", iVtxX-GetX(), iVtxY-GetY(), + GetX(obj)-GetX(), GetY(obj)-GetY(), 3, 25, RGB(250,050,055)); + } + return(Remove()); + } + + // Objektanziehung + iVtx = GetVertexNum()-1; iVtxX = GetVertex(iVtx, 0); iVtxY = GetVertex(iVtx, 1); + var obj; + if (iVtx>7) + while (obj = FindObject( 0, iVtxX-GetX()-25, iVtxY-GetY()-25, 50, 50, OCF_Alive(), 0,0, NoContainer(),obj ) ) + { + if(obj==pCaster) continue; + if(!PathFree(iVtxX, iVtxY, GetX(obj), GetY(obj))) continue; + Attraction(obj); + break; + } + + Timer(); + // Weiter + return(); +} + +/* Effekte */ + +private func Sparkle() +{ + Timer(); + var iVtx = GetVertexNum()-1, iVtxX = GetVertex(iVtx, 0), iVtxY = GetVertex(iVtx, 1); + + return(1); +} + +/* Anziehung */ + +private func Attraction(obj) +{ + // Einschlag in Objekt + AddVertex( GetVertex(0,0,obj)+GetX(obj), + GetVertex(0,1,obj)+GetY(obj) ); + obj->~LightningStrike(); + SetAction("Connect"); + Punch(obj, 20); + Incinerate(obj); + //Übernimmt QueryCatchBlow + //if(GetEffect("KillSymbols",obj)) SetKillSymbols(obj,GetEffect("KillSymbols",obj),_LVS,GetEffect("KillTraceHelper",this())); +} + +/* Ende */ + +private func Remove() +{ + var i=0; + // Nachleuchten + while(i<GetVertexNum()-1) + { + Explode(2,this()); + DrawParticleLine ("Blast", GetVertex(i)-GetX(), GetVertex(i, 1)-GetY(), + GetVertex(i+1)-GetX(), GetVertex(i+1,1)-GetY(), 6, 60, RGB(255,100,000)); + DrawParticleLine ("Blast", GetVertex(i)-GetX(), GetVertex(i, 1)-GetY(), + GetVertex(i+1)-GetX(), GetVertex(i+1,1)-GetY(), 3, 25, RGB(250,150,155)); + i++; + } + + RemoveObject(); +} diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Names.txt new file mode 100644 index 0000000..20da19d --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Extrazauber +US:Additional Spells diff --git a/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DefCore.txt new file mode 100644 index 0000000..6b23cdb --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DefCore.txt @@ -0,0 +1,17 @@ +[DefCore] +id=TSWB +Version=4,9,8 +Name=Snowball +Category=C4D_Object +Width=6 +Height=6 +Offset=-3,-3 +Vertices=4 +VertexX=2,-2,-2,2 +VertexY=2,-2,2,-2 +VertexFriction=100,100,100,100 +Mass=17 +Components=IICE=2 +Picture=6,0,32,32 +Collectible=1 +Fragile=1 diff --git a/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DescDE.txt new file mode 100644 index 0000000..c369562 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DescDE.txt @@ -0,0 +1 @@ +Eine leichte aber weitreichende Wurfwaffe, die aus Schnee ausgegraben werden kann. diff --git a/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DescUS.txt new file mode 100644 index 0000000..81f5b9f --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DescUS.txt @@ -0,0 +1 @@ +A light throwing weapon shaped from snow.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..431e6ff --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Names.txt new file mode 100644 index 0000000..cc0cd4f --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Schneeball +US:Snowball diff --git a/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Script.c new file mode 100644 index 0000000..aa90954 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Script.c @@ -0,0 +1,59 @@ +/*-- Schneeball --*/ + +#strict +#include ICE1 + +protected func Hit() { + CastPXS("Snow", 100, 20); + RemoveObject(); + return(1); +} + +protected func Departure(thrower) { + var proc = GetProcedure(thrower); + var comd = GetComDir(thrower); + // Ablegen -> Abbruch + if (GetPlrDownDouble(GetOwner(thrower))) + // Nur Ablegen in der Luft mit Befehlsrichtung? Luftwurf erlauben! + if (proc ne "FLIGHT" || GetComDir(thrower) == COMD_None) + return(0); + + // Ablegen im stehenden Hangeln -> Abbruch + if (proc eq "HANGLE" && comd == COMD_None) + return(0); + + // Ablegen im Schwimmen / Klettern -> Abbruch + if (proc eq "SWIM" || proc eq "SCALE") + return(0); + + // Wurfrichtung rausfinden + var dir; + // Nach Befehlsrichtung, wenn sinnvolle Werte vorhanden + if (comd == COMD_Left() || comd == COMD_Right()) { + if (comd == COMD_Left()) dir = -1; + if (comd == COMD_Right()) dir = +1; + } + // sonst nach Blickrichtung + else { + if (GetDir(thrower) == DIR_Left()) dir = -1; + else dir = +1; + } + + // Wurfgeschwindigkeiten berechnen + var x_dir = dir * GetPhysical("Throw", 0, thrower)/1000 + GetXDir(thrower) / 3; + var y_dir = -30; + + if (!x_dir) return(0); + + // Position anpassen + SetPosition(GetX() + x_dir / 5, GetY() - 2 + GetYDir(thrower) / 2); + + // Geschwindigkeit setzen + SetXDir(x_dir); + SetYDir(y_dir); + + Sound("Arrow"); +} + +func IsAlchemContainer() { return(true); } +func AlchemProcessTime() { return(100); } diff --git a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c index 0577e73..4b2fee5 100644 --- a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c +++ b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c @@ -3,7 +3,7 @@ #strict 2 static const - SETTING_Deathmatch = 0, SETTING_Extinguisher = 1, SETTING_FriendlyPushing = 2, SETTING_RotateInJump = 3, + SETTING_Deathmatch = 0, SETTING_SuddenDeath = 1, SETTING_Extinguisher = 2, SETTING_RotateInJump = 3, SETTING_RelaunchesInc = 4, SETTING_RelaunchesDec = 5, SETTING_DeathmatchScoreInc = 6, SETTING_DeathmatchScoreDec = 7, SETTING_Ambience = 8; @@ -13,7 +13,7 @@ local clonk, setupPlayer; // Selected values local section, mode; -local extinguisherEnabled, friendlyPushingEnabled, rotateInJumpEnabled; +local extinguisherEnabled, suddendeathEnabled, rotateInJumpEnabled; local ambienceEnabled; local numRelaunches; local deathmatchEnabled, deathmatchWinScore; @@ -28,10 +28,11 @@ protected func Initialize() section = Sections[0]; Modes = [ - [MODE_Classic, "$ModeClassic$", ROCK], - [MODE_SuddenDeath, "$ModeSuddenDeath$", SDDT], - [MODE_Magic, "$ModeMagic$", SMGC], - [MODE_Apocalyptic, "$ModeApocalyptic$", APCE]]; + [MODE_Classic, "$ModeClassic$", CLSC], + [MODE_Magic, "$ModeMagic$", MLPG], + [MODE_Knightly, "$ModeKnightly$", MKNI], + [MODE_Apocalyptic, "$ModeApocalyptic$", APCE], + [MODE_Festive, "$ModeFestive$", FSTV]]; } private func ShowSetup() @@ -70,13 +71,12 @@ private func ShowModeMenu() CheckPreselect(m[0] == mode, menuItemIndex++); } - clonk->AddMenuItem("$Back$", "ShowSectionMenu()", ROCK); + clonk->AddMenuItem("$Back$", "ShowSectionMenu()", SBCK); } private func SelectMode(int selectedMode) { mode = selectedMode; - if (mode == MODE_SuddenDeath) deathmatchEnabled = false; ShowMessage(); ShowSettingsMenu(); @@ -89,20 +89,17 @@ private func ShowSettingsMenu(bool preselect, int selectedSetting) var menuItemIndex = 0; // Deathmatch entry - if (mode != MODE_SuddenDeath) - { - AddOptionMenuItem(GetName(0, DTHM), deathmatchEnabled, "SelectSetting(SETTING_Deathmatch)", DTHM); - CheckPreselect(preselect && selectedSetting == SETTING_Deathmatch, menuItemIndex++); - } - + AddOptionMenuItem(GetName(0, DTHM), deathmatchEnabled, "SelectSetting(SETTING_Deathmatch)", DTHM); + CheckPreselect(preselect && selectedSetting == SETTING_Deathmatch, menuItemIndex++); + + // Sudden Death entry + AddOptionMenuItem(GetName(0, SDDT), suddendeathEnabled, "SelectSetting(SETTING_SuddenDeath)", SDDT); + CheckPreselect(preselect && selectedSetting == SETTING_SuddenDeath, menuItemIndex++); + // Extinguisher entry AddOptionMenuItem(GetName(0, _ETG), extinguisherEnabled, "SelectSetting(SETTING_Extinguisher)", _ETG); CheckPreselect(preselect && selectedSetting == SETTING_Extinguisher, menuItemIndex++); - - // "Friendly Pushing" entry - AddOptionMenuItem(GetName(0, FYPG), friendlyPushingEnabled, "SelectSetting(SETTING_FriendlyPushing)", FYPG); - CheckPreselect(preselect && selectedSetting == SETTING_FriendlyPushing, menuItemIndex++); - + // "Turn in jump" entry AddOptionMenuItem(GetName(0, RIJP), rotateInJumpEnabled, "SelectSetting(SETTING_RotateInJump)", RIJP); CheckPreselect(preselect && selectedSetting == SETTING_RotateInJump, menuItemIndex++); @@ -113,22 +110,22 @@ private func ShowSettingsMenu(bool preselect, int selectedSetting) if (!deathmatchEnabled) { - clonk->AddMenuItem("$Relaunches$ +", "SelectSetting(SETTING_RelaunchesInc)", SKUL); + clonk->AddMenuItem("$Relaunches$ +", "SelectSetting(SETTING_RelaunchesInc)", SREL); CheckPreselect(preselect && selectedSetting == SETTING_RelaunchesInc, menuItemIndex++); - clonk->AddMenuItem("$Relaunches$ -", "SelectSetting(SETTING_RelaunchesDec)", SKUL); + clonk->AddMenuItem("$Relaunches$ -", "SelectSetting(SETTING_RelaunchesDec)", SREL); CheckPreselect(preselect && selectedSetting == SETTING_RelaunchesDec, menuItemIndex++); } else { - clonk->AddMenuItem("$Kills$ +", "SelectSetting(SETTING_DeathmatchScoreInc)", SWOR); + clonk->AddMenuItem("$Kills$ +", "SelectSetting(SETTING_DeathmatchScoreInc)", SKIL); CheckPreselect(preselect && selectedSetting == SETTING_DeathmatchScoreInc, menuItemIndex++); - clonk->AddMenuItem("$Kills$ -", "SelectSetting(SETTING_DeathmatchScoreDec)", SWOR); + clonk->AddMenuItem("$Kills$ -", "SelectSetting(SETTING_DeathmatchScoreDec)", SKIL); CheckPreselect(preselect && selectedSetting == SETTING_DeathmatchScoreDec, menuItemIndex++); } - clonk->AddMenuItem("$Done$", "SetupDone()", GOLD); + clonk->AddMenuItem("$Done$", "SetupDone()", SDNE); CheckPreselect(!preselect, menuItemIndex++); - clonk->AddMenuItem("$Back$", "ShowModeMenu()", ROCK); + clonk->AddMenuItem("$Back$", "ShowModeMenu()", SBCK); } private func SelectSetting(int selectedSetting) @@ -137,13 +134,13 @@ private func SelectSetting(int selectedSetting) { deathmatchEnabled = !deathmatchEnabled; } - else if (selectedSetting == SETTING_Extinguisher) + else if (selectedSetting == SETTING_SuddenDeath) { - extinguisherEnabled = !extinguisherEnabled; + suddendeathEnabled = !suddendeathEnabled; } - else if (selectedSetting == SETTING_FriendlyPushing) + else if (selectedSetting == SETTING_Extinguisher) { - friendlyPushingEnabled = !friendlyPushingEnabled; + extinguisherEnabled = !extinguisherEnabled; } else if (selectedSetting == SETTING_RotateInJump) { @@ -212,7 +209,7 @@ private func ShowMessage() { Message("@%s", 0, GetMessage()); } private func GetMessage() { - var msgSection = Format("$Landscape$: %s", GetName(0, section)); + var msgSection = Format("$Landscape$: {{%i}} %s", section, GetName(0, section)); var msgMode; for (var m in Modes) @@ -227,17 +224,17 @@ private func GetMessage() var msgWinScore; if (!deathmatchEnabled) { - msgWinScore = Format("{{SKUL}} $Relaunches$: %d", numRelaunches); + msgWinScore = Format("{{SREL}} $Relaunches$: %d", numRelaunches); } else { - msgWinScore = Format("{{SWOR}} %s: %d $Kills$", GetName(0, DTHM), deathmatchWinScore); + msgWinScore = Format("{{SKIL}} %s: %d $Kills$", GetName(0, DTHM), deathmatchWinScore); } var msgExtinguisher = Format("{{_ETG}} %s: %s", GetName(0, _ETG), IIf(extinguisherEnabled, "$Enabled$", "$Disabled$")); - var msgFriendlyPushing = Format("{{FYPG}} %s: %s", GetName(0, FYPG), IIf(friendlyPushingEnabled, "$Enabled$", "$Disabled$")); + var msgSuddenDeath = Format("{{SDDT}} %s: %s", GetName(0, SDDT), IIf(suddendeathEnabled, "$Enabled$", "$Disabled$")); var msgRotateInJump = Format("{{RIJP}} %s: %s", GetName(0, RIJP), IIf(rotateInJumpEnabled, "$Enabled$", "$Disabled$")); var msgAmbience = Format("{{SABC}} $Ambience$: %s", IIf(ambienceEnabled, "$Enabled$", "$Disabled$")); - return Format("%s|%s|%s|%s|%s|%s|%s", msgSection, msgMode, msgWinScore, msgExtinguisher, msgFriendlyPushing, msgRotateInJump, msgAmbience); + return Format("%s|%s|%s|%s|%s|%s|%s", msgSection, msgMode, msgWinScore, msgExtinguisher, msgSuddenDeath, msgRotateInJump, msgAmbience); }
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblDE.txt b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblDE.txt index bd28a61..bca11b8 100644 --- a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblDE.txt +++ b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblDE.txt @@ -1,13 +1,13 @@ -ModeClassic=Klassisches Schubsen -ModeSuddenDeath=<c ffff00>Sudden Death</c> -ModeMagic=<c 0000ff>Magisches Schubsen</c> -ModeApocalyptic=<c ff0000>Apokalyptisches Schubsen</c> +ModeClassic=<c e6b800>Klassisch</c> +ModeMagic=<c 4700b2>Magisch</c> +ModeKnightly=<c 99ff66>Mittelalterlich</c> +ModeApocalyptic=<c b20000>Apokalyptisch</c> +ModeFestive=<c f0ffff>Winterlich</c> Back=Zurück Done=Fertig Relaunches=Relaunches Kills=Kills -SectionClassic=Klassisch -Landscape=Landschaft +Landscape=Sektion Mode=Modus Enabled=Aktiviert Disabled=Deaktiviert diff --git a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblUS.txt b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblUS.txt index cd1f9c1..fc24d29 100644 --- a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblUS.txt +++ b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblUS.txt @@ -1,13 +1,13 @@ -ModeClassic=Classic Pushing -ModeSuddenDeath=<c ffff00>Sudden Death</c> -ModeMagic=<c 0000ff>Magical Pushing</c> -ModeApocalyptic=<c ff0000>Apocalyptical Pushing</c> +ModeClassic=<c e6b800>Classic</c> +ModeMagic=<c 4700b2>Magical</c> +ModeKnightly=<c 99ff66>Medieval</c> +ModeApocalyptic=<c b20000>Apocalyptical</c> +ModeFestive=<c f0ffff >Winterly</c> Back=Back Done=Done Relaunches=Relaunches Kills=Kills -SectionClassic=Classic -Landscape=Landscape +Landscape=Section Mode=Mode Enabled=Enabled Disabled=Disabled diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/DefCore.txt new file mode 100644 index 0000000..a787540 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/DefCore.txt @@ -0,0 +1,6 @@ +[DefCore] +id=SBCK +Name=SymbolBack +Version=4,9,5 +Category=C4D_StaticBack +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..6962715 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Names.txt new file mode 100644 index 0000000..dac0462 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Zurück +US:Back diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/DefCore.txt new file mode 100644 index 0000000..8be962d --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/DefCore.txt @@ -0,0 +1,6 @@ +[DefCore] +id=SDNE +Name=SymbolDone +Version=4,9,5 +Category=C4D_StaticBack +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..6b1e72c --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Names.txt new file mode 100644 index 0000000..c269c1e --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Fertig +US:Done diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/DefCore.txt new file mode 100644 index 0000000..5d0200a --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/DefCore.txt @@ -0,0 +1,6 @@ +[DefCore] +id=SKIL +Name=SymbolForKill +Version=4,9,5 +Category=C4D_StaticBack +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..ce75ea1 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Names.txt new file mode 100644 index 0000000..261742e --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Relaunch +US:Relaunch diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/DefCore.txt new file mode 100644 index 0000000..de0a9a1 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/DefCore.txt @@ -0,0 +1,6 @@ +[DefCore] +id=SREL +Name=SymbolForRelaunch +Version=4,9,5 +Category=C4D_StaticBack +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..70c091a --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Names.txt new file mode 100644 index 0000000..261742e --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Relaunch +US:Relaunch diff --git a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/DefCore.txt index 8668e4b..8668e4b 100644 --- a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/DefCore.txt +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/DefCore.txt diff --git a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Graphics.png Binary files differindex bcce561..bcce561 100644 --- a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Graphics.png +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Names.txt index cdbcf76..cdbcf76 100644 --- a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Names.txt +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Names.txt diff --git a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/DefCore.txt b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/DefCore.txt index dc029af..dc029af 100644 --- a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/DefCore.txt +++ b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/DefCore.txt diff --git a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/DescDE.txt b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/DescDE.txt index 907f5df..907f5df 100644 --- a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/DescDE.txt +++ b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/DescDE.txt diff --git a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/DescUS.txt b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/DescUS.txt index e803d8b..e803d8b 100644 --- a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/DescUS.txt +++ b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/DescUS.txt diff --git a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/Graphics.png b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/Graphics.png Binary files differindex c40dbad..c40dbad 100644 --- a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/Graphics.png +++ b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/Graphics.png diff --git a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/Names.txt b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/Names.txt index d5f8556..d5f8556 100644 --- a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/Names.txt +++ b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/Names.txt diff --git a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/Script.c b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/Script.c index 1ff7e74..508577a 100644 --- a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/Script.c +++ b/TemplePushing.c4s/Modes.c4d/ApocalypticPushing.c4d/Script.c @@ -1,4 +1,4 @@ -/*-- Magical Pushing --*/ +/*-- Apocalyptic --*/ #strict 2 diff --git a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/DefCore.txt b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/DefCore.txt index 8caa63b..a522ab5 100644 --- a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/DefCore.txt +++ b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/DefCore.txt @@ -1,7 +1,7 @@ [DefCore] -id=FYPG -Version=4,9,8 -Name=Friendly Pushing +id=CLSC +Name=Classic +Version=4,9,5 Category=C4D_StaticBack|C4D_Rule Width=1 Height=1 diff --git a/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/DescDE.txt b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/DescDE.txt new file mode 100644 index 0000000..e6ed61d --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/DescDE.txt @@ -0,0 +1 @@ +Klassisches „Klippenschubsen“. diff --git a/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/DescUS.txt b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/DescUS.txt new file mode 100644 index 0000000..122b976 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/DescUS.txt @@ -0,0 +1 @@ +Classic „Cliff Pushing“. diff --git a/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/Graphics.png b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..2f3f345 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/Graphics.png diff --git a/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/Names.txt b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/Names.txt new file mode 100644 index 0000000..b51e7b6 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Klassisch +US:Classic diff --git a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/Script.c b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/Script.c index 2eee807..e7b98b4 100644 --- a/TemplePushing.c4s/Rules.c4d/Apocalypse.c4d/Script.c +++ b/TemplePushing.c4s/Modes.c4d/ClassicPushing.c4d/Script.c @@ -1,4 +1,4 @@ -/*-- Apocalypse --*/ +/*-- Classic --*/ #strict 2 diff --git a/TemplePushing.c4s/Modes.c4d/DescDE.txt b/TemplePushing.c4s/Modes.c4d/DescDE.txt new file mode 100644 index 0000000..8c19b76 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/DescDE.txt @@ -0,0 +1 @@ +Die Modi legen den grundsätzlichen Spielablauf fest. diff --git a/TemplePushing.c4s/Modes.c4d/DescUS.txt b/TemplePushing.c4s/Modes.c4d/DescUS.txt new file mode 100644 index 0000000..dc80640 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/DescUS.txt @@ -0,0 +1 @@ +The game modes establish basic rules and functionalities of the game. diff --git a/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/DefCore.txt b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/DefCore.txt new file mode 100644 index 0000000..7009aec --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=FSTV +Version=4,9,8 +Name=FestivePushing +Category=C4D_StaticBack +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/DescDE.txt b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/DescDE.txt new file mode 100644 index 0000000..2f22510 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/DescDE.txt @@ -0,0 +1 @@ +Schneeballschlachten auf Tempelruinen? Unsinn. diff --git a/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/DescUS.txt b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/DescUS.txt new file mode 100644 index 0000000..f4c2fad --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/DescUS.txt @@ -0,0 +1 @@ +Instead of traditional weaponry, you recieve festive killing tools. diff --git a/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/Graphics.png b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..942a688 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/Graphics.png diff --git a/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/Names.txt b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/Names.txt new file mode 100644 index 0000000..dd97002 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Festliches Schubsen +US:Festive Pushing diff --git a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/Script.c b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/Script.c index 5e1233e..db6da20 100644 --- a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/Script.c +++ b/TemplePushing.c4s/Modes.c4d/FestivePushing.c4d/Script.c @@ -1,4 +1,4 @@ -/*-- Friendly Pushing --*/ +/*-- Festive --*/ #strict 2 diff --git a/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/DefCore.txt b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/DefCore.txt new file mode 100644 index 0000000..a25e551 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=MKNI +Version=4,9,8 +Name=KnightlyPushing +Category=C4D_StaticBack +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/DescDE.txt b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/DescDE.txt new file mode 100644 index 0000000..cb214af --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/DescDE.txt @@ -0,0 +1 @@ +Anstatt der üblichen Waffen kommen in diesem Modus eher mittelalterliche Tötungsutensilien ins Spiel. diff --git a/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/DescUS.txt b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/DescUS.txt new file mode 100644 index 0000000..1d780af --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/DescUS.txt @@ -0,0 +1 @@ +Medieval weapons, enemies and narrow landscapes – what's not to love? diff --git a/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/Graphics.png b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..dbcf80d --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/Graphics.png diff --git a/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/Names.txt b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/Names.txt new file mode 100644 index 0000000..7ceb54b --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Ritterliches Schubsen +US:Knightly Pushing diff --git a/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/Script.c b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/Script.c new file mode 100644 index 0000000..d7bff28 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/KnightlyPushing.c4d/Script.c @@ -0,0 +1,5 @@ +/*-- Knightly --*/ + +#strict 2 + +protected func Activate(int player) { MessageWindow(GetDesc(), player); } diff --git a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/DefCore.txt b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/DefCore.txt index fc00032..fc00032 100644 --- a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/DefCore.txt +++ b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/DefCore.txt diff --git a/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/DescDE.txt b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/DescDE.txt new file mode 100644 index 0000000..7c88e6b --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/DescDE.txt @@ -0,0 +1 @@ +Anstatt der üblichen Gegenstände erscheinen nur Schriftrollen. diff --git a/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/DescUS.txt b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/DescUS.txt new file mode 100644 index 0000000..aa405b3 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/DescUS.txt @@ -0,0 +1 @@ +Spawnpoints only spawn scrolls. diff --git a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/Graphics.png b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/Graphics.png Binary files differindex 351d65c..351d65c 100644 --- a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/Graphics.png +++ b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/Graphics.png diff --git a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/Names.txt b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/Names.txt index 8e9cb1f..8e9cb1f 100644 --- a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/Names.txt +++ b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/Names.txt diff --git a/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/Script.c b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/Script.c new file mode 100644 index 0000000..3b6d66b --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/MagicalPushing.c4d/Script.c @@ -0,0 +1,5 @@ +/*-- Magical --*/ + +#strict 2 + +protected func Activate(int player) { MessageWindow(GetDesc(), player); } diff --git a/TemplePushing.c4s/Modes.c4d/Names.txt b/TemplePushing.c4s/Modes.c4d/Names.txt new file mode 100644 index 0000000..5e32682 --- /dev/null +++ b/TemplePushing.c4s/Modes.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Spielmodi +US:Game modes diff --git a/TemplePushing.c4s/Rules.c4d/Deathmatch.c4d/StringTblDE.txt b/TemplePushing.c4s/Rules.c4d/Deathmatch.c4d/StringTblDE.txt index 7934d6d..90cc9e2 100644 --- a/TemplePushing.c4s/Rules.c4d/Deathmatch.c4d/StringTblDE.txt +++ b/TemplePushing.c4s/Rules.c4d/Deathmatch.c4d/StringTblDE.txt @@ -1 +1,2 @@ -InfoMessage=Das Team, das zuerst %d Gegner tötet, gewinnt.
\ No newline at end of file +InfoMessage=Das Team, das zuerst %d Gegner tötet, gewinnt. +Win=Sieg diff --git a/TemplePushing.c4s/Rules.c4d/Deathmatch.c4d/StringTblUS.txt b/TemplePushing.c4s/Rules.c4d/Deathmatch.c4d/StringTblUS.txt index 12fd314..939cc92 100644 --- a/TemplePushing.c4s/Rules.c4d/Deathmatch.c4d/StringTblUS.txt +++ b/TemplePushing.c4s/Rules.c4d/Deathmatch.c4d/StringTblUS.txt @@ -1 +1,2 @@ -InfoMessage=The team that kills %d enemies first wins the game.
\ No newline at end of file +InfoMessage=The team that kills %d enemies first wins the game. +Win=Win diff --git a/TemplePushing.c4s/Rules.c4d/DescDE.txt b/TemplePushing.c4s/Rules.c4d/DescDE.txt index bf4504d..7057a2b 100644 --- a/TemplePushing.c4s/Rules.c4d/DescDE.txt +++ b/TemplePushing.c4s/Rules.c4d/DescDE.txt @@ -1 +1 @@ -Regelobjekte bestimmen den Spielablauf und bieten in Einzelfällen Sonderoptionen.
\ No newline at end of file +Die Regelobjekte modifizieren das Spielerlebnis, indem sie Handicaps oder Hilfen festlegen. diff --git a/TemplePushing.c4s/Rules.c4d/DescUS.txt b/TemplePushing.c4s/Rules.c4d/DescUS.txt index 022d0bf..1ff9f2f 100644 --- a/TemplePushing.c4s/Rules.c4d/DescUS.txt +++ b/TemplePushing.c4s/Rules.c4d/DescUS.txt @@ -1 +1 @@ -Rule objects affect general game play and in some cases offer special options.
\ No newline at end of file +Rule objects affect the gameplay by introducing handicaps or benefiting the players. diff --git a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/DescDE.txt b/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/DescDE.txt deleted file mode 100644 index 729840e..0000000 --- a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/DescDE.txt +++ /dev/null @@ -1 +0,0 @@ -Clonks können befreundete Spieler schubsen
\ No newline at end of file diff --git a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/DescUS.txt b/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/DescUS.txt deleted file mode 100644 index 6b5d08d..0000000 --- a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/DescUS.txt +++ /dev/null @@ -1 +0,0 @@ -Clonks can push allied players.
\ No newline at end of file diff --git a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/Graphics.png b/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/Graphics.png Binary files differdeleted file mode 100644 index d97f792..0000000 --- a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/Graphics.png +++ /dev/null diff --git a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/Names.txt b/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/Names.txt deleted file mode 100644 index 34d3e41..0000000 --- a/TemplePushing.c4s/Rules.c4d/FriendlyPushing.c4d/Names.txt +++ /dev/null @@ -1,2 +0,0 @@ -DE:Teamschubsen -US:Friendly Pushing
\ No newline at end of file diff --git a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/DescDE.txt b/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/DescDE.txt deleted file mode 100644 index e8257be..0000000 --- a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/DescDE.txt +++ /dev/null @@ -1 +0,0 @@ -Anstatt Gegenständen erscheinen nur Schriftrollen
\ No newline at end of file diff --git a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/DescUS.txt b/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/DescUS.txt deleted file mode 100644 index f2b1ba6..0000000 --- a/TemplePushing.c4s/Rules.c4d/MagicalPushing.c4d/DescUS.txt +++ /dev/null @@ -1 +0,0 @@ -Instead of objects spawnpoints contents just scrolls
\ No newline at end of file diff --git a/TemplePushing.c4s/Rules.c4d/OutFader.c4d/DefCore.txt b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/DefCore.txt new file mode 100644 index 0000000..5214919 --- /dev/null +++ b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/DefCore.txt @@ -0,0 +1,11 @@ +[DefCore] +id=OFDR +Version=4,9,9,9 +Name=Out Fader +Category=C4D_StaticBack|C4D_Rule +MaxUserSelect=1 +Width=1 +Height=1 +Picture=0,0,64,64 +TimerCall=Fading +Timer=50
\ No newline at end of file diff --git a/TemplePushing.c4s/Rules.c4d/OutFader.c4d/DescDE.txt b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/DescDE.txt new file mode 100644 index 0000000..fe94ed8 --- /dev/null +++ b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/DescDE.txt @@ -0,0 +1 @@ +Gegenstände die eine Weile in der Gegend herumliegen verschwinden automatisch langsam.
\ No newline at end of file diff --git a/TemplePushing.c4s/Rules.c4d/OutFader.c4d/DescUS.txt b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/DescUS.txt new file mode 100644 index 0000000..1f5c6b1 --- /dev/null +++ b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/DescUS.txt @@ -0,0 +1 @@ +Removes items that are to long in the landscape to clean the map
\ No newline at end of file diff --git a/TemplePushing.c4s/Rules.c4d/OutFader.c4d/Graphics.png b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..29742c3 --- /dev/null +++ b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/Graphics.png diff --git a/TemplePushing.c4s/Rules.c4d/OutFader.c4d/Names.txt b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/Names.txt new file mode 100644 index 0000000..c840810 --- /dev/null +++ b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Keine herumliegenden Gegenstände +US:No useless items
\ No newline at end of file diff --git a/TemplePushing.c4s/Rules.c4d/OutFader.c4d/Script.c b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/Script.c new file mode 100644 index 0000000..9bd1dea --- /dev/null +++ b/TemplePushing.c4s/Rules.c4d/OutFader.c4d/Script.c @@ -0,0 +1,78 @@ +/*-- Out-Fader --*/ + +#strict 2 + +protected func Activate(iByPlayer) +{ + MessageWindow(GetDesc(), iByPlayer); + return(1); +} + +func Fading(iPlr) +{ + for (var obj in FindObjects(Find_OCF(OCF_InFree | OCF_InSolid | OCF_InLiquid),Find_Category(C4D_Object | C4D_Living))) + if (!ImportantID(GetID(obj))) + { + if (GetAction(obj)=="Idle") + { + // Object owned by anyone? + if (GetOwner(obj)==-1) FadeOut(obj,2); + else FadeOut(obj,3); + } + else if (GetAction(obj)=="Dead" && !GetAlive()) + { + if (GetOwner(obj)==-1) FadeOut(obj,1); + else FadeOut(obj,5); + } + else if (GetAction(obj)=="Be") + { + if (GetOwner(obj)==-1) FadeOut(obj,2); + else FadeOut(obj,3); + } + else if (GetAction(obj)=="None") + { + if (GetOwner(obj)==-1) FadeOut(obj,1); + else FadeOut(obj,1); + } + else if (GetAction(obj)=="Exist") + { + if (GetOwner(obj)==-1) FadeOut(obj,2); + else FadeOut(obj,3); + } + } + return(1); +} + + +global func FadeOut(pObj,iTime) +{ + if (!iTime) iTime=2; + if (!pObj) pObj=this; + if (GetEffect("FadeOut",pObj)) return(0); + AddEffect("FadeOut",pObj,200,iTime,0,OFDR); + return(1); +} + +func FxFadeOutStart(pTarget,iEffectNumber) +{ + EffectVar(0,pTarget,iEffectNumber)=255; + return(1); +} + +func FxFadeOutStop(pTarget,iEffectNumber) +{ + SetClrModulation(RGBa(255,255,255),pTarget); + return(1); +} + +func FxFadeOutTimer(pTarget,iEffectNumber) +{ + if (!pTarget) return(-1); + if (Contained(pTarget)) return(-1); + EffectVar(0,pTarget,iEffectNumber)--; + if (!EffectVar(0,pTarget,iEffectNumber)) RemoveObject(pTarget); + SetClrModulation(RGBa(255,255,255,255-EffectVar(0,pTarget,iEffectNumber)),pTarget); + return(1); +} + +global func ImportantID(idObj) { return 0; }
\ No newline at end of file diff --git a/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/DescDE.txt b/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/DescDE.txt index 51022ea..da976f3 100644 --- a/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/DescDE.txt +++ b/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/DescDE.txt @@ -1 +1 @@ -Jeder Treffer ist fatal; Spawnpoints spawnen nur Steine.
\ No newline at end of file +Jeder Treffer ist fatal. diff --git a/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/DescUS.txt b/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/DescUS.txt index 5b266ce..012484e 100644 --- a/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/DescUS.txt +++ b/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/DescUS.txt @@ -1 +1 @@ -Every hit is fatal; Spawnpoints only spawn rocks.
\ No newline at end of file +Every hit is fatal. diff --git a/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/Script.c b/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/Script.c index d406c12..5765aea 100644 --- a/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/Script.c +++ b/TemplePushing.c4s/Rules.c4d/SuddenDeath.c4d/Script.c @@ -1,8 +1,6 @@ -/*-- Neues Objekt --*/ +/*-- Sudden Death --*/ -#strict +#strict 2 + +protected func Activate(int player) { MessageWindow(GetDesc(), player); } -func Initialize() { - - return(1); -} diff --git a/TemplePushing.c4s/Scenario.txt b/TemplePushing.c4s/Scenario.txt index 8812ac7..36923ea 100644 --- a/TemplePushing.c4s/Scenario.txt +++ b/TemplePushing.c4s/Scenario.txt @@ -1,6 +1,6 @@ [Head]
Icon=27
-Title=TemplePush v6.1.7601.18409
+Title=Temple Pushing r0.741b
MaxPlayer=8
[Definitions]
@@ -11,6 +11,9 @@ Definition4=Western.c4d\Magic.c4d\Flint.c4d Definition5=Worlds.c4f\FoggyCliffs.c4s\Fog.c4d
Definition6=Worlds.c4f\Desert.c4s\Lenseflare.c4d
Definition7=Worlds.c4f\Desert.c4s\Sonne.c4d
+Definition8=Western.c4f\Misc.c4d\Waterfall.c4d
+Definition9=Western.c4f\Misc.c4d\Lavafall.c4d
+Definition10=Western.c4d\Magic.c4d\Plague.c4d
[Game]
StructNeedEnergy=0
diff --git a/TemplePushing.c4s/Script.c b/TemplePushing.c4s/Script.c index 7c0b225..ea02517 100644 --- a/TemplePushing.c4s/Script.c +++ b/TemplePushing.c4s/Script.c @@ -1,80 +1,131 @@ -/*-- Klippenschubsen --*/ +/*-- Temple Pushing --*/ #strict 2 -static const MODE_Classic = 0, MODE_SuddenDeath = 1, MODE_Magic = 2, MODE_Apocalyptic = 3; +static const MODE_Classic = 0, MODE_Magic = 1, MODE_Festive = 2, MODE_Apocalyptic = 3, MODE_Knightly = 4; +static const SBRD_ScoreCol = 0, SBRD_RelaunchesCol = 1; +static const MaxTeamCount = 2; static section, mode; static numRelaunches; static deathmatchEnabled, deathmatchWinScore; static playerDeaths, playerScore, teamScore; static ambienceEnabled; +static suddendeathEnabled; static loadingSection; static gameStartMessage, countdown, gameStarted, gameOver; func Initialize() { ShowLobby(); + + // Create Thrones for recreational purposes... + CreateObject(THRN, 590, 420, NO_OWNER); + CreateObject(THRN, 470, 210, NO_OWNER); // Initial values deathmatchWinScore = 20; playerDeaths = CreateArray(); playerScore = CreateArray(); teamScore = CreateArray(); - countdown = 5; + countdown = 3; // Create setup menu var menu = CreateObject(SPMU, 0, 0, NO_OWNER); menu->LocalN("extinguisherEnabled") = false; menu->LocalN("rotateInJumpEnabled") = true; menu->LocalN("numRelaunches") = 10; - menu->LocalN("deathmatchWinScore") = 25; + menu->LocalN("deathmatchWinScore") = 20; menu->LocalN("ambienceEnabled") = true; ScriptGo(true); } -func TeamRow(int team) { return 1 + team * 1000; } -func PlayerRow(int player) { return TeamRow(GetPlayerTeam(player)) + GetPlayerID(player); } +/*func TeamRow(int team) { return 1 + team * 1000; } +func PlayerRow(int player) { return TeamRow(GetPlayerTeam(player)) + GetPlayerID(player); }*/ +func TeamRow(int team) { return team; } +func PlayerRow(int player) { return MaxTeamCount + 1 + GetPlayerID(player); } func InitializePlayer(int player) { - if (LobbyActive()) return; + SetFoW(false, player); - var team = GetPlayerTeam(player); + if (LobbyActive()) return; + playerDeaths[GetPlayerID(player)] = 0; - if (team) SetScoreboardData(TeamRow(team), SBRD_Caption, Format("<c %x>%s</c>", GetTeamColor(team), GetTeamName(team)), TeamRow(team)); - SetScoreboardData(PlayerRow(player), SBRD_Caption, GetTaggedPlayerName(player), PlayerRow(player)); + if (deathmatchEnabled) + { + var team = GetPlayerTeam(player); + if (team) + { + SetScoreboardData(TeamRow(team), SBRD_Caption, Format("<c %x>Team %s</c>", GetTeamColor(team), GetTeamName(team)), 0); + } + } + SetScoreboardData(PlayerRow(player), SBRD_Caption, GetTaggedPlayerName(player), 1); UpdateScoreboard(player); - SortScoreboard(SBRD_Caption); LaunchClonk(player, GetCrew(player)); } +func GetRelaunchesLeft(int player) { return numRelaunches - playerDeaths[GetPlayerID(player)]; } + func RemovePlayer(int player) { - if (!LobbyActive()) + // Leaver? + if (!LobbyActive() && (!deathmatchEnabled && GetRelaunchesLeft(player) >= 0 || deathmatchEnabled && !gameOver)) { - // Leaver? - var relaunchesLeft = numRelaunches - playerDeaths[GetPlayerID(player)]; - if (!deathmatchEnabled && relaunchesLeft >= 0 || deathmatchEnabled && !gameOver) SetScoreboardData(PlayerRow(player), 0, "{{SLVR}}"); + UpdateScoreboard(player, true); } } -func UpdateScoreboard(int player) +func UpdateScoreboard(int player, bool leaver) { - if (!GetPlayerID(player)) return; + var playerID = GetPlayerID(player); + var text; - if (!deathmatchEnabled) + // Ignore invalid player numbers + if (!playerID) return; + + // Deathmatch only: Team rows + if (deathmatchEnabled) { - var relaunchesLeft = numRelaunches - playerDeaths[GetPlayerID(player)]; - SetScoreboardData(PlayerRow(player), 0, Format("%d", IIf(relaunchesLeft < 0, "{{SKUL}}", relaunchesLeft))); + var team = GetPlayerTeam(player); + if (team) + { + if (teamScore[team] == deathmatchWinScore) + text = "<c 00ff00>$Win$</c>"; + else + text = Format("<c %x>%d</c>", GetTeamColor(team), teamScore[team]); + + SetScoreboardData(TeamRow(team), SBRD_ScoreCol, text, teamScore[team]); + } } + + // Normal and deathmatch mode: Show score + if (leaver) + text = "{{SLVR}}"; else + text = Format("%d", playerScore[playerID]); + + SetScoreboardData(PlayerRow(player), SBRD_ScoreCol, text, playerScore[playerID]); + + // Normal mode only: Show remaining relaunches + if (!deathmatchEnabled) { - SetScoreboardData(PlayerRow(player), 0, Format("%d", playerScore[GetPlayerID(player)])); - var team = GetPlayerTeam(player); - if (team) SetScoreboardData(TeamRow(team), 0, Format("%d", teamScore[team])); + var relaunchesLeft = numRelaunches - playerDeaths[playerID]; + if (relaunchesLeft < 0) + text = "$Death$"; + else if (leaver) + text = "{{SLVR}}"; + else + text = Format("%d", relaunchesLeft); + + SetScoreboardData(PlayerRow(player), SBRD_RelaunchesCol, text, relaunchesLeft); } + + // Sort rows + SortScoreboard(SBRD_ScoreCol, true); + if (!deathmatchEnabled) SortScoreboard(SBRD_RelaunchesCol, true); + SortScoreboard(SBRD_Caption); } func ShowLobby() @@ -88,7 +139,7 @@ func StartGame(object menu, string message) var sectionID = menu->LocalN("section"); mode = menu->LocalN("mode"); var extinguisherEnabled = menu->LocalN("extinguisherEnabled"); - var friendlyPushingEnabled = menu->LocalN("friendlyPushingEnabled"); + var suddendeathEnabled = menu->LocalN("suddendeathEnabled"); var rotateInJumpEnabled = menu->LocalN("rotateInJumpEnabled"); ambienceEnabled = menu->LocalN("ambienceEnabled"); numRelaunches = menu->LocalN("numRelaunches"); @@ -98,29 +149,39 @@ func StartGame(object menu, string message) // Change scenario section loadingSection = true; - //Log("Before LoadScenarioSection()"); + Log("Before LoadScenarioSection()"); LoadScenarioSection(DefinitionCall(sectionID, "SectionName")); - //Log("After LoadScenarioSection()"); + Log("After LoadScenarioSection()"); loadingSection = false; section = CreateObject(sectionID, 0, 0, NO_OWNER); // Create spawnpoints if (mode != MODE_Apocalyptic) { - //Log("Creating spawnpoints"); + Log("Creating spawnpoints"); var spawnPointSpawner = CreateObject(SPSR, 0, 0, NO_OWNER); spawnPointSpawner->SetLocations(section->SpawnpointLocations()); - if (mode != MODE_Magic) + if (mode == MODE_Classic) { - spawnPointSpawner->SetDefinitions([[ROCK, 9], [SCRL, 9], [FLNT, 9], [SFLN, 9], [STFN, 4], [EFLN, 4], [FBMP, 4]]); - spawnPointSpawner->SetSpawnInterval(750); + spawnPointSpawner->SetDefinitions([[ROCK, 7], [SCRL, 5], [FLNT, 7], [SFLN, 9], [STFN, 3], [EFLN, 5], [FBMP, 4], [ARWP, 4]]); + spawnPointSpawner->SetSpawnInterval(900); } - else + if (mode == MODE_Festive) { - spawnPointSpawner->SetDefinitions([[SCRL, 14], [GBLT, 1]]); + spawnPointSpawner->SetDefinitions([[TSWB,5], [SCRL, 5], [ROCK, 1]]); + spawnPointSpawner->SetSpawnInterval(600); + } + if (mode == MODE_Knightly) + { + spawnPointSpawner->SetDefinitions([[SFLN, 3], [EFLN,3], [SWOR, 5], [AXE1, 5], [SPER, 2], [ARWP, 5], [SCRL, 5], [FARP, 3]]); spawnPointSpawner->SetSpawnInterval(1000); + } + if (mode == MODE_Magic) + { + spawnPointSpawner->SetDefinitions([[SCRL, 14], [GBLT, 1]]); + spawnPointSpawner->SetSpawnInterval(750); spawnPointSpawner->SetSpawnpointGamma(RGB(5, 5, 10), RGB(80, 80, 150), RGB(200, 200, 255)); } spawnPointSpawner->CreateSpawnPoints(); @@ -136,25 +197,32 @@ func StartGame(object menu, string message) } // Create melee goal - //Log("Creating melee goal"); + Log("Creating melee goal"); CreateObject(MELE, 0, 0, NO_OWNER); // Create rules - //Log("Creating rules"); + Log("Creating rules"); if (extinguisherEnabled) CreateObject(_ETG, 0, 0, NO_OWNER); - if (friendlyPushingEnabled) CreateObject(FYPG, 0, 0, NO_OWNER); + if (suddendeathEnabled) CreateObject(SDDT, 0, 0, NO_OWNER); if (rotateInJumpEnabled) CreateObject(RIJP, 0, 0, NO_OWNER); + CreateObject(OFDR, 0, 0, NO_OWNER); + - //Log("Creating mode rules"); - if (mode == MODE_SuddenDeath) + + // Create mode objects + if (mode == MODE_Magic) { - CreateObject(SDDT, 0, 0, NO_OWNER); + CreateObject(MLPG, 0, 0, NO_OWNER); } - else if (mode == MODE_Magic) + if (mode == MODE_Festive) { - CreateObject(MLPG, 0, 0, NO_OWNER); + CreateObject(FSTV, 0, 0, NO_OWNER); } - else if (mode == MODE_Apocalyptic) + if (mode == MODE_Knightly) + { + CreateObject(MKNI, 0, 0, NO_OWNER); + } + if (mode == MODE_Apocalyptic) { CreateObject(APCE, 0, 0, NO_OWNER); } @@ -162,29 +230,30 @@ func StartGame(object menu, string message) // Deathmatch? if (deathmatchEnabled) { - //Log("Creating deathmatch rule"); + Log("Creating deathmatch rule"); CreateObject(DTHM, 0, 0, NO_OWNER); - SetScoreboardData(SBRD_Caption, 0, "{{DTHM}}"); + SetScoreboardData(SBRD_Caption, 0, "{{SKIL}}"); SetScoreboardData(0, SBRD_Caption, "$WinScore$"); - SetScoreboardData(0, 0, Format("%d", deathmatchWinScore)); + SetScoreboardData(0, 0, Format("%d $Kills$", deathmatchWinScore)); } else { - SetScoreboardData(SBRD_Caption, 0, "{{SKUL}}"); + SetScoreboardData(SBRD_Caption, 0, "{{SREL}}"); + SetScoreboardData(SBRD_Caption, 1, "{{SKIL}}"); } // Initialize players - //Log("Initializing players"); + Log("Initializing players"); for (var i = 0; i < GetPlayerCount(); ++i) { InitializePlayer(GetPlayerByIndex(i)); } - //Log("Starting countdown"); + Log("Starting countdown"); gameStartMessage = message; ShowCountdown(); - //Log("StartGame() done"); + Log("StartGame() done"); } func ShowCountdown() @@ -238,7 +307,7 @@ func HandleKill(int killed, int killer) var killedEliminated = false; var killedID = GetPlayerID(killed), killerID = GetPlayerID(killer); var killedTeam = GetPlayerTeam(killed), killerTeam = GetPlayerTeam(killer); - var teamKill = killer == killed || killedTeam != 0 && killedTeam == killerTeam; + var teamKill = killedTeam != 0 && killedTeam == killerTeam; ++playerDeaths[killedID]; @@ -248,9 +317,9 @@ func HandleKill(int killed, int killer) ++playerScore[killerID]; if (killerTeam) ++teamScore[killerTeam]; } - else // Decrement score on suicide or team kill + else if (teamKill && killed != killer) // Decrement score if it's a team kill but not a suicide { - if (playerScore[killerID] > 0) + if (playerScore[killerID] > 0) // Prevent negative scores { --playerScore[killerID]; if (killerTeam) --teamScore[killerTeam]; @@ -295,6 +364,7 @@ func HandleKill(int killed, int killer) { if (GetPlayerTeam(player) != killerTeam) EliminatePlayer(player); } + Message(Format("$MsgDeathmatchWin$", GetTeamColor(killerTeam), GetTeamName(killerTeam))); gameOver = true; killedEliminated = true; } @@ -347,9 +417,9 @@ func OnClonkDeath(object clonk, int killedBy) if (GetPlayerID(player)) LaunchClonk(player, clonk, true); } -func LaunchClonk(int player, object clonk, bool forceCreate) +func LaunchClonk(int player, object clonk, bool relaunch) { - if (!clonk || forceCreate) + if (!clonk || relaunch) { var newClonk = CreateObject(CLNK, 0, 0, player); if (clonk) @@ -404,14 +474,24 @@ func LaunchClonk(int player, object clonk, bool forceCreate) // No corpses in apocalopyse mode if (mode == MODE_Apocalyptic) clonk->LocalN("removeOnDeath") = true; + // Enable rotation in jump for the clonk if allowed by rule if (FindObject(RIJP)) clonk->LocalN("rotateInJump") = true; + // Do not immediately pass player control to the new clonk to prevent accidental jumps + if (relaunch) + { + clonk->SetCrewEnabled(false); + clonk->SetCrewEnabled(true); + clonk->Schedule("SelectCrew(GetOwner(), this, true)", 20); + } + + PlayerMessage(player, "<c %x>{{FLAG}}</c>", clonk, GetPlrColorDw(player)); SetPlrView(player, clonk); } func ResetHealth(object clonk) { - if (mode == MODE_SuddenDeath) + if (suddendeathEnabled) { clonk->DoEnergy(1 - clonk->GetEnergy()); } diff --git a/TemplePushing.c4s/SectClassic.c4g/Map.bmp b/TemplePushing.c4s/SectClassic.c4g/Map.bmp Binary files differindex ee3c43c..3f5e325 100644 --- a/TemplePushing.c4s/SectClassic.c4g/Map.bmp +++ b/TemplePushing.c4s/SectClassic.c4g/Map.bmp diff --git a/TemplePushing.c4s/SectClassic.c4g/Scenarios.txt b/TemplePushing.c4s/SectClassic.c4g/Scenarios.txt index 0ca3cbe..ccb3138 100644 --- a/TemplePushing.c4s/SectClassic.c4g/Scenarios.txt +++ b/TemplePushing.c4s/SectClassic.c4g/Scenarios.txt @@ -1,5 +1,5 @@ [Landscape] -Sky=Clouds1;Default +Sky=DarkSky ExactLandscape=0 NewStyleLandscape=2 NoScan=1 diff --git a/TemplePushing.c4s/SectCloudTemple.c4g/Map.bmp b/TemplePushing.c4s/SectCloudTemple.c4g/Map.bmp Binary files differnew file mode 100644 index 0000000..ba8a1d2 --- /dev/null +++ b/TemplePushing.c4s/SectCloudTemple.c4g/Map.bmp diff --git a/TemplePushing.c4s/SectCloudTemple.c4g/Scenario.txt b/TemplePushing.c4s/SectCloudTemple.c4g/Scenario.txt new file mode 100644 index 0000000..c1af59a --- /dev/null +++ b/TemplePushing.c4s/SectCloudTemple.c4g/Scenario.txt @@ -0,0 +1,29 @@ +[Landscape] +Sky=CloudySky +BottomOpen=1 +ExactLandscape=0 +NewStyleLandscape=2 +NoScan=1 +MapWidth=80,0,64,250 +MapHeight=80,0,40,250 +Amplitude=10,10,0,100 +Phase=50,50,0,100 +Period=10,10,0,100 +Random=20,20,0,100 +Liquid=Water-Smooth +LiquidLevel=20,30,0,100 +Gravity=83,0,10,200 +SkyScrollMode=2 + +[Game] +FoWColor=13158600 + +[Weather] +Climate=100,0,0,100 +YearSpeed=20,10,0,100 +Wind=0,0,0,0 +Lightning=0,0,0,0 + +[Disasters] +Meteorite=100,0,0,100 +Earthquake=0,0,0,0 diff --git a/TemplePushing.c4s/SectHighUpSymm.c4g/Map.bmp b/TemplePushing.c4s/SectHighUpSymm.c4g/Map.bmp Binary files differdeleted file mode 100644 index 0cca27b..0000000 --- a/TemplePushing.c4s/SectHighUpSymm.c4g/Map.bmp +++ /dev/null diff --git a/TemplePushing.c4s/SectLiquidTemple.c4g/Map.bmp b/TemplePushing.c4s/SectLiquidTemple.c4g/Map.bmp Binary files differnew file mode 100644 index 0000000..2f87447 --- /dev/null +++ b/TemplePushing.c4s/SectLiquidTemple.c4g/Map.bmp diff --git a/TemplePushing.c4s/SectHighUpSymm.c4g/Scenario.txt b/TemplePushing.c4s/SectLiquidTemple.c4g/Scenario.txt index 93acb0b..392b6d2 100644 --- a/TemplePushing.c4s/SectHighUpSymm.c4g/Scenario.txt +++ b/TemplePushing.c4s/SectLiquidTemple.c4g/Scenario.txt @@ -1,5 +1,5 @@ [Landscape] -Sky=Clouds1;Default +Sky=BurningSky BottomOpen=1 ExactLandscape=0 NewStyleLandscape=2 @@ -19,8 +19,8 @@ SkyScrollMode=2 Climate=100,0,0,100 YearSpeed=20,10,0,100 Wind=0,100,-100,100 -Lightning=28,0,0,100 +Lightning=0,0,0,0 [Disasters] Meteorite=100,0,0,100 -Earthquake=28,0,0,100 +Earthquake=0,0,0,0 diff --git a/TemplePushing.c4s/SectLobby.c4g/Map.bmp b/TemplePushing.c4s/SectLobby.c4g/Map.bmp Binary files differindex 6d6a5b3..50ea9e4 100644 --- a/TemplePushing.c4s/SectLobby.c4g/Map.bmp +++ b/TemplePushing.c4s/SectLobby.c4g/Map.bmp diff --git a/TemplePushing.c4s/SectLobby.c4g/Scenario.txt b/TemplePushing.c4s/SectLobby.c4g/Scenario.txt new file mode 100644 index 0000000..df1e96b --- /dev/null +++ b/TemplePushing.c4s/SectLobby.c4g/Scenario.txt @@ -0,0 +1,28 @@ +[Landscape] +Sky=DarkSky +BottomOpen=1 +ExactLandscape=0 +NewStyleLandscape=2 +NoScan=1 +MapWidth=80,0,64,250 +MapHeight=80,0,40,250 +Amplitude=10,10,0,100 +Phase=50,50,0,100 +Period=10,10,0,100 +Random=20,20,0,100 +Liquid=Water-Smooth +LiquidLevel=20,30,0,100 +Gravity=83,0,10,200 +SkyScrollMode=2 + +[Player1] +Crew=CLNK=1 + +[Player2] +Crew=CLNK=1 + +[Player3] +Crew=CLNK=1 + +[Player4] +Crew=CLNK=1 diff --git a/TemplePushing.c4s/Sections.c4d/Ambience.wav b/TemplePushing.c4s/Sections.c4d/Ambience.wav Binary files differindex 9bd2ab1..4682723 100644 --- a/TemplePushing.c4s/Sections.c4d/Ambience.wav +++ b/TemplePushing.c4s/Sections.c4d/Ambience.wav diff --git a/TemplePushing.c4s/Sections.c4d/CloudAmbience.wav b/TemplePushing.c4s/Sections.c4d/CloudAmbience.wav Binary files differnew file mode 100644 index 0000000..43f270a --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/CloudAmbience.wav diff --git a/TemplePushing.c4s/Sections.c4d/ExtremeAmbience.wav b/TemplePushing.c4s/Sections.c4d/ExtremeAmbience.wav Binary files differindex 3a5f174..c17e78a 100644 --- a/TemplePushing.c4s/Sections.c4d/ExtremeAmbience.wav +++ b/TemplePushing.c4s/Sections.c4d/ExtremeAmbience.wav diff --git a/TemplePushing.c4s/Sections.c4d/LiquidAmbience.wav b/TemplePushing.c4s/Sections.c4d/LiquidAmbience.wav Binary files differnew file mode 100644 index 0000000..e601b3e --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/LiquidAmbience.wav diff --git a/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Graphics.png b/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Graphics.png Binary files differindex 11434fa..e0fe300 100644 --- a/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Graphics.png +++ b/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Graphics.png diff --git a/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Names.txt b/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Names.txt index 091768f..e968ed1 100644 --- a/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Names.txt +++ b/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Names.txt @@ -1,2 +1,2 @@ -DE:Klassisch -US:Classic
\ No newline at end of file +DE:Klippentempel +US:Temple Ruins diff --git a/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Script.c b/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Script.c index 5761717..4f839d8 100644 --- a/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Script.c +++ b/TemplePushing.c4s/Sections.c4d/SectClassic.c4d/Script.c @@ -5,7 +5,7 @@ public func SectionName() { return "Classic"; } public func SpawnpointLocations() { return [[550, 282], [603, 205], [682, 282], [784, 227], [912, 168], [1040, 120], - [651, 449], [432, 438], [170, 118], [299, 170], [435, 230], [1175, 290], [105, 380], [910, 400], [560, 610]]; } + [651, 467], [432, 438], [170, 118], [299, 170], [435, 230], [1175, 290], [105, 380], [910, 400], [560, 610]]; } protected func Initialize() { diff --git a/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/DefCore.txt b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/DefCore.txt index 0a249c6..5cab824 100644 --- a/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/DefCore.txt +++ b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/DefCore.txt @@ -1,6 +1,6 @@ [DefCore] -id=SHUS -Name=SectHighUpSymm +id=SNCD +Name=SectCloudTemple Version=4,9,5 Category=C4D_StaticBack Width=1 diff --git a/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Fog3.c4d/Graphics.png b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Fog3.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..4e059fc --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Fog3.c4d/Graphics.png diff --git a/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Fog3.c4d/Particle.txt b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Fog3.c4d/Particle.txt new file mode 100644 index 0000000..146bc0b --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Fog3.c4d/Particle.txt @@ -0,0 +1,12 @@ +[Particle] +Name=Fog3 +MaxCount=500 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +Face=0,0,400,400,-200,-200 +Delay=0 +Repeats=1 +Reverse=0 +GravityAcc=0 +Additive=0 diff --git a/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Graphics.png b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..98ab57a --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Graphics.png diff --git a/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Names.txt b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Names.txt new file mode 100644 index 0000000..4928c8f --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Wolkentempel +US:Temple of Clouds diff --git a/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Script.c b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Script.c new file mode 100644 index 0000000..987052e --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/SectCloudTemple.c4d/Script.c @@ -0,0 +1,58 @@ +/*-- Cloud temple scenario section --*/ + +#strict 2 + +public func SectionName() { return "CloudTemple"; } + +public func SpawnpointLocations() { return [[70, 100], [140, 310], [1105, 310], [431, 443], [830, 160], [420, 160], [300, 90], [230, 440], [320, 310], [530, 90], [625, 160],[720, 90], [930, 310], [820, 440], [950, 90], [1180, 100]]; } + +protected func Initialize() +{ + // Water/Lava sources + // var water = [CreateObject(WTFL, 615, 295, NO_OWNER), CreateObject(WTFL, 630, 285, NO_OWNER)]; + // TODO: Remove sound via appendto + adjust positions + + // Create Fog + for (var i; i < 100; ++i) + { + if (mode == MODE_Apocalyptic) + { + CreateParticle("Fog3", Random(LandscapeWidth()), RandomX(570, 700) -10, 0, 0, RandomX(1250, 2000), RGB(255,0,0)); + } + else + { + CreateParticle("Fog3", Random(LandscapeWidth()), RandomX(570, 700) -10, 0, 0, RandomX(1250, 2000)); + } + } + + if (ambienceEnabled) + { + // Create background sound + if (mode != MODE_Apocalyptic) SoundLevel("CloudAmbience", 50); + + // Create sun and lenseflare + CreateObject(SONE, 0, 0, NO_OWNER); + CreateObject(LENS, 0, 0, NO_OWNER); + } + + if (mode == MODE_Apocalyptic) + { + // Rock fall + for (var i = 0; i < 10; ++i) + { + CreateObject(RCKF, 0, 0, NO_OWNER); + } + + // Fire rain + AddEffect("FireRain", 0, 20, 1); + CreateObject(FRRN, 0, 0, NO_OWNER); + + // Background sound + Music(); + SoundLevel("ExtremeAmbience", 100); + + // Modulate brick and crystal colour + SetMaterialColor(Material("Brick"), 100, 0, 0, 150, 0, 0, 20, 0, 0); + SetMaterialColor(Material("SkyCrystal"), 245, 0, 0, 255, 0, 0, 20, 0, 0); + } +}
\ No newline at end of file diff --git a/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/Graphics.png b/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/Graphics.png Binary files differdeleted file mode 100644 index 9c2207d..0000000 --- a/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/Graphics.png +++ /dev/null diff --git a/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/Names.txt b/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/Names.txt deleted file mode 100644 index 2f7c818..0000000 --- a/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/Names.txt +++ /dev/null @@ -1,2 +0,0 @@ -DE:Irgendetwas mit 'Hoch droben', 'Himmelsschubsen' o.Ä. -US:Irgendetwas mit Medien
\ No newline at end of file diff --git a/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/Script.c b/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/Script.c deleted file mode 100644 index cf4bde0..0000000 --- a/TemplePushing.c4s/Sections.c4d/SectHighUpSymm.c4d/Script.c +++ /dev/null @@ -1,7 +0,0 @@ -/*-- Unnamed scenario section --*/ - -#strict 2 - -public func SectionName() { return "HighUpSymm"; } - -public func SpawnpointLocations() { return []; } // TODO diff --git a/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/DefCore.txt b/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/DefCore.txt new file mode 100644 index 0000000..54024ad --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=SNLQ +Name=SectLiquidTemple +Version=4,9,5 +Category=C4D_StaticBack +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/Graphics.png b/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..5a0e3ec --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/Graphics.png diff --git a/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/Names.txt b/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/Names.txt new file mode 100644 index 0000000..70e4ac2 --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Flüssigkeitstempel +US:Temple of Liquids diff --git a/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/Script.c b/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/Script.c new file mode 100644 index 0000000..3ab2be2 --- /dev/null +++ b/TemplePushing.c4s/Sections.c4d/SectLiquidTemple.c4d/Script.c @@ -0,0 +1,58 @@ +/*-- Liquid temple scenario section --*/ + +#strict 2 + +public func SectionName() { return "LiquidTemple"; } + + public func SpawnpointLocations() { return [[100, 515], [290, 490], [480, 460], [180, 315], [370, 285], [1440, 515], [1250, 490], [1060, 460], [1360, 315], [1170, 285], [715, 330], [870, 450]/*, [615, 70], [925, 70]*/, [770, 90], [715, 210], [825, 390]]; } + + protected func Initialize() +{ + if (ambienceEnabled) + { + // Create lava rain + AddEffect("LavaRain", 0, 20, 1); + + /* + / Create sun and lensflare + CreateObject(SONE, 0, 0, NO_OWNER); + CreateObject(LENS, 0, 0, NO_OWNER); + */ + + // Create background sound + if (mode != MODE_Apocalyptic) SoundLevel("LiquidAmbience", 50); + + /* + { + for (var i; i < 300; ++i) + { + CreateParticle("Fog", Random(LandscapeWidth()), Random(LandscapeHeight()) + 300, 0, 1, RandomX(2000, 2500)); + } + return(1); + } + */ + } + + if (mode == MODE_Apocalyptic) + { + // Rock fall + for (var i = 0; i < 10; ++i) + { + CreateObject(RCKF, 0, 0, NO_OWNER); + } + + // Fire rain + AddEffect("FireRain", 0, 20, 1); + CreateObject(FRRN, 0, 0, NO_OWNER); + + // Background sound + Music(); + SoundLevel("ExtremeAmbience", 100); + + // Modulate brick colour (material) + + SetMaterialColor(Material("Brick"), 100, 0, 0, 150, 0, 0, 20, 0, 0); + } +} + + diff --git a/TemplePushing.c4s/Sky.jpg b/TemplePushing.c4s/Sky.jpg Binary files differdeleted file mode 100644 index b073dc3..0000000 --- a/TemplePushing.c4s/Sky.jpg +++ /dev/null diff --git a/TemplePushing.c4s/StringTblDE.txt b/TemplePushing.c4s/StringTblDE.txt index 45b7ea1..9c05ef0 100644 --- a/TemplePushing.c4s/StringTblDE.txt +++ b/TemplePushing.c4s/StringTblDE.txt @@ -1,8 +1,11 @@ -TeamOne=Tempelspringer -TeamTwo=Klippenschubser -MsgRelaunch=Du hast noch %d Relaunchs. -MsgOneRelaunch=Du hast nur noch einen Relaunch. -MsgLastRelaunch=Das war dein letzter Relaunch. -Death=Tot +TeamOne=Lldhyr +TeamTwo=Phephr +MsgRelaunch=Du hast noch <c 00ff00>%d</c> Relaunches. +MsgOneRelaunch=Du hast nur noch <c ffff00>einen</c> Relaunch. +MsgLastRelaunch=Das war dein <c ff0000>letzter</c> Relaunch. +Death=<i><c ff0000>Tot</c></i> Load=Landschaft wird geladen... -WinScore=Sieg +Kills=Kills +WinScore=Ziel +MsgDeathmatchWin=<c %x>Team %s</c> erringt den Sieg. +Win=Sieg diff --git a/TemplePushing.c4s/StringTblUS.txt b/TemplePushing.c4s/StringTblUS.txt index 2cf5687..d5e9265 100644 --- a/TemplePushing.c4s/StringTblUS.txt +++ b/TemplePushing.c4s/StringTblUS.txt @@ -1,8 +1,12 @@ -TeamOne=Temple Jumpers -TeamTwo=Cliff Pushers -MsgRelaunch=You have %d relaunchs remaining. -MsgOneRelaunch=You only have one relaunch remaining. -MsgLastRelaunch=This was your last relaunch. -Death=Dead +TeamOne=Lldhyr +TeamTwo=Phephr +MsgRelaunch=You have <c 00ff00>%d</c> relaunches remaining. +MsgOneRelaunch=You only have <c ffff00>one<c/> relaunch remaining. +MsgLastRelaunch=This was your <c ff0000>last</c> relaunch. +Death=<i><c ff0000>Out</c></i> Load=Loading Landscape... +Kills=Kills WinScore=Goal +MsgDeathmatchWin=<c %x>Team %s</c> wins the match. +Win=Win + diff --git a/TemplePushing.c4s/System.c4g/Arrowpack.c b/TemplePushing.c4s/System.c4g/Arrowpack.c new file mode 100644 index 0000000..e046e4c --- /dev/null +++ b/TemplePushing.c4s/System.c4g/Arrowpack.c @@ -0,0 +1,43 @@ +/*-- Arrow packs shoot arrows --*/ + +#strict 2 + +#appendto ARWP + +local coolingDown; + +protected func Initialize() +{ + iUsedItems = Random(MaxPackCount() - 1); +} + +private func CooledDown() +{ + return !coolingDown; +} + +protected func Activate(object clonk) +{ + [$Shoot$|Image=BOW1|Condition=CooledDown] + + if (!CooledDown()) return 0; + + // Extract an arrow from the pack + var arrow = GetItem(); + + // Make shooting clonk responsible for possible kill and owner of the arrow + arrow->SetOwner(clonk->GetOwner()); + arrow->SetController(clonk->GetOwner()); + + // Shoot + // Do not launch fire arrows too close to the clonk to prevent incineration when launched while climbing + var arrowPosX = IIf(arrow->GetID() == FARW, -10 + 20 * clonk->GetDir(), -3 + 6 * clonk->GetDir()); + arrow->Exit(0, arrowPosX, 5, -90 + 180 * clonk->GetDir(), -8 + 16 * clonk->GetDir(), -2); + arrow->~Launch(); + + // Start cooldown + coolingDown = true; + Schedule("coolingDown = false", RandomX(1, 20)); + + return 1; +}
\ No newline at end of file diff --git a/TemplePushing.c4s/System.c4g/Bounce.c b/TemplePushing.c4s/System.c4g/Bounce.c index e52c395..e2cee50 100644 --- a/TemplePushing.c4s/System.c4g/Bounce.c +++ b/TemplePushing.c4s/System.c4g/Bounce.c @@ -2,13 +2,18 @@ #strict 2 +#appendto ROCK +#appendto SWOR #appendto AXE1 +#appendto ARWP +#appendto SFLN +#appendto FLNT +#appendto EGBL #appendto EFLN -#appendto SWOR protected func Hit() { - if (Random(2)) return _inherited(); + if (Random(10)) return _inherited(); SetYDir(-20); Sound("Boing"); diff --git a/TemplePushing.c4s/System.c4g/Clonk.c b/TemplePushing.c4s/System.c4g/Clonk.c index 8c395b4..c934938 100644 --- a/TemplePushing.c4s/System.c4g/Clonk.c +++ b/TemplePushing.c4s/System.c4g/Clonk.c @@ -1,11 +1,25 @@ /* Clonk */ #strict 2 + #appendto CLNK local rotateInJump; local removeOnDeath; +protected func ControlThrow(object byObj) +{ + // First check if the clonk already handles the throw control + var ret = _inherited(byObj); + if (ret) return ret; + + // Launch arrow from pack in inventory + var arrowPack = Contents(); + if (!arrowPack || !arrowPack->~IsArrowPack()) return 0; + arrowPack->Activate(this); + return 1; +} + protected func ControlSpecial() { [$Push$|Image=CXIV] @@ -21,8 +35,7 @@ protected func ControlSpecial() Find_ID(CLNK), Find_InRect(-10 + GetDir() * 20, 0, 10, 10), Find_OCF(OCF_Alive), - // Only include allied players' clonks if "friendly pushing" rule is present - Find_Or(Find_Func(FindObject(FYPG)), Find_Hostile(GetOwner()))); + Find_Hostile(GetOwner())); if (GetLength(clonks) == 0) return 0; @@ -34,15 +47,16 @@ protected func ControlSpecial() return 1; } + protected func ControlLeft() { - if (rotateInJump && GetAction() == "Jump") SetDir(DIR_Left); + if (rotateInJump && GetAction() == "Jump" || GetAction() == "Tumble") SetDir(DIR_Left); return _inherited(); } protected func ControlRight() { - if (rotateInJump && GetAction() == "Jump") SetDir(DIR_Right); + if (rotateInJump && GetAction() == "Jump" || GetAction() == "Tumble") SetDir(DIR_Right); return _inherited(); } @@ -51,4 +65,9 @@ protected func Death(int killedBy) var ret = _inherited(killedBy); if (removeOnDeath) RemoveObject(); return ret; +} + +public func QueryCatchBlow(object arrow) +{ + return arrow->GetOwner() == GetOwner(); }
\ No newline at end of file diff --git a/TemplePushing.c4s/System.c4g/Invisibility.c b/TemplePushing.c4s/System.c4g/Invisibility.c new file mode 100644 index 0000000..28bba9d --- /dev/null +++ b/TemplePushing.c4s/System.c4g/Invisibility.c @@ -0,0 +1,18 @@ +/*-- Shorten Invisibilty --*/ + +#strict 2 + +#appendto MINV + +public func Activate(object pCaster, object pCaster2) +{ + // Zauberer ermitteln + if (pCaster2) pCaster = pCaster2; + // Magie kann man hoeren, ganz klar ;) + Sound("Magic*"); + // Zauberer unsichtbar machen (20sec) + AddEffect("InvisPSpell", pCaster, 200, 700, 0, GetID()); + // Fertig - das Zauberobjekt wird nun nicht mehr gebraucht + RemoveObject(); + return 1; +}
\ No newline at end of file diff --git a/TemplePushing.c4s/System.c4g/LavaRain.c b/TemplePushing.c4s/System.c4g/LavaRain.c new file mode 100644 index 0000000..22369e0 --- /dev/null +++ b/TemplePushing.c4s/System.c4g/LavaRain.c @@ -0,0 +1,18 @@ +/*-- Lavaregen --*/ + +#strict 2 + +global func FxLavaRainStart() +{ + SoundLevel("Rain", 10); + return 1; +} + +global func FxLavaRainTimer() +{ + for (var i; i < 5; ++i) + { + CreateParticle("LavaRaindrop", Random(LandscapeWidth()), 0, 0, 200, Random(300), RGB(255, 255, 0)); + } + return 1; +} diff --git a/TemplePushing.c4s/System.c4g/MagicFlint.c b/TemplePushing.c4s/System.c4g/MagicFlint.c index a158248..0fc5506 100644 --- a/TemplePushing.c4s/System.c4g/MagicFlint.c +++ b/TemplePushing.c4s/System.c4g/MagicFlint.c @@ -17,10 +17,10 @@ public func Activate(object caster, object realcaster) CreateParticle("MSpark", 0,0, 1000, RGBa(255,50,50,150)); if (realcaster) caster = realcaster; - - var flints = [FLNT, SFLN, EFLN]; + + var flints = [SFLN, EFLN]; caster->CreateContents(flints[Random(GetLength(flints))]); - + RemoveObject(); return 1; } diff --git a/TemplePushing.c4s/System.c4g/Meteor.c b/TemplePushing.c4s/System.c4g/Meteor.c index af1d3e8..9eb75b1 100644 --- a/TemplePushing.c4s/System.c4g/Meteor.c +++ b/TemplePushing.c4s/System.c4g/Meteor.c @@ -4,6 +4,6 @@ protected func Hit() { - if (FindObject(RCKF)) Explode(Random(75)); + if (FindObject(RCKF)) Explode(Random(50)); Explode(explosion_base + Random(12)); } diff --git a/TemplePushing.c4s/System.c4g/Plague.c b/TemplePushing.c4s/System.c4g/Plague.c new file mode 100644 index 0000000..ea80c2e --- /dev/null +++ b/TemplePushing.c4s/System.c4g/Plague.c @@ -0,0 +1,33 @@ +/*-- Plague --*/ + +#strict + +#appendto MGPL + +func FxPoisonTimer(pClonk, iEffectNumber, iEffectTime) +{ + if(iEffectTime >= 1200) return(-1); + var fSnake = EffectVar(1, pClonk, iEffectNumber); + var idType = GetID(pClonk); + CreateParticle("PoisonWave", GetX(pClonk), GetY(pClonk), 0, -1, EffectVar(0, pClonk, iEffectNumber)*5+50, RGBa(fSnake*200, 255, 0), pClonk, 1); + CreateParticle("PSpark", GetX(pClonk), GetY(pClonk), 0, -1, EffectVar(0, pClonk, iEffectNumber)*5+50, RGBa(fSnake*55, 55, 0), pClonk, 1); + if(GBackLiquid(GetX(pClonk), GetY(pClonk))) return(-1); + + if(!Random(7)) DoEnergy(-2, pClonk); + var obj; + var iRadius = EffectCall(pClonk,iEffectNumber,"MaxRange"); + while(obj = FindObject(0, -iRadius+GetX(pClonk),-iRadius+GetY(pClonk),iRadius*2,iRadius*2, OCF_Alive(),0,0, NoContainer(), obj)) + { + if(!GetEffect("Poison", obj)) + { + if(!GetAction(obj)S="Field") + { + AddEffect("Poison",obj,182,10,0,MGPL,fSnake); + } + } + } + return(1); +} + +func FxPoisonMaxRange() { return(100); } + diff --git a/TemplePushing.c4s/System.c4g/Scroll.c b/TemplePushing.c4s/System.c4g/Scroll.c index 07a55d6..076c30b 100644 --- a/TemplePushing.c4s/System.c4g/Scroll.c +++ b/TemplePushing.c4s/System.c4g/Scroll.c @@ -4,7 +4,13 @@ func Initialize() { - var spells = [ABLA, MBOT, MFRB, MDBT, GVTY, MMTR, MLGT, CFAL, MSSH, MINV, MQKE, MARK, MFWV, MGFL]; + if (mode == MODE_Festive) + { + var spells = [ABLA, MFWV, MICS, MLGT, MGPL]; SetSpell(spells[Random(GetLength(spells))]); + } + else var spells = [ABLA, MBOT, MFRB, MDBT, GVTY, MMTR, MLGT, CFAL, MSSH, MINV, MQKE, MARK, MFWV, MGFL, LAVS, MGPL]; + SetSpell(spells[Random(GetLength(spells))]); + return _inherited(); } diff --git a/TemplePushing.c4s/System.c4g/ShootInventory.c b/TemplePushing.c4s/System.c4g/ShootInventory.c index f2636dd..20bfef3 100644 --- a/TemplePushing.c4s/System.c4g/ShootInventory.c +++ b/TemplePushing.c4s/System.c4g/ShootInventory.c @@ -4,10 +4,13 @@ #appendto AXE1 #appendto EGBL +#appendto SFLN #appendto EFLN #appendto GBLT #appendto ROCK #appendto SWOR +#appendto SPER +#appendto TSWB protected func Activate(object clonk) { @@ -16,38 +19,72 @@ protected func Activate(object clonk) // Sound if (GetID() == EGBL) { + Sound("Blast*"); Sound("Crystal3"); } + else if (GetID() == SPER) + { + Sound("Arrow"); + } + else if (GetID() == TSWB) + { + Sound("Arrow"); + } else if (GetID() == GBLT) { + Sound("Blast*"); Sound("Crystal3"); } + else if (GetID() == SWOR) + { + Sound("Blast*"); + Sound("SwordHit*"); + } + else if (GetID() == AXE1) + { + Sound("Blast*"); + Sound("AxeHit*"); + } else { - Sound("Blast2"); + Sound("Blast*"); } - // Make shooting clonk responsible for possible kill + // Make shooting clonk responsible for possible kill and owner of object to be shot SetController(clonk->GetOwner()); + SetOwner(clonk->GetOwner()); // Shoot if (GetID() == EGBL) { - Exit(0, -20 + 40 * clonk->GetDir()); + Exit(0, -10 + 20 * clonk->GetDir()); + SetYDir(-10); SetXDir(-100 + 200 * clonk->GetDir()); } else if (GetID() == ROCK) { - Exit(0, -15 + 30 * clonk->GetDir()); + Exit(0, -10 + 20 * clonk->GetDir()); + SetYDir(-15); SetXDir(-100 + 200 * clonk->GetDir()); } + else if (GetID() == TSWB) + { + Exit(0, -5 + 10 * clonk->GetDir()); + SetYDir(-30); + SetXDir(-50 + 100 * clonk->GetDir()); + } + else if (GetID() == SPER) + { + Exit(0, -10 + 20 * clonk->GetDir(), -4, 0 + 180 * clonk->GetDir(), -150 + 300 * clonk->GetDir(), -7); + SetYDir(-7); + SetXDir(-175 + 350 * clonk->GetDir()); + } else { - Exit(0, -10 + 20 * clonk->GetDir()); + Exit(0, -10 + 20 * clonk->GetDir(), 0, 0 + 180 * clonk->GetDir(), -80 + 160 * clonk->GetDir(), -15); + SetYDir(-15); SetXDir(-80 + 160 * clonk->GetDir()); } - - SetYDir(-10); - + return 1; }
\ No newline at end of file diff --git a/TemplePushing.c4s/System.c4g/Vanish.c b/TemplePushing.c4s/System.c4g/Vanish.c new file mode 100644 index 0000000..37d1d78 --- /dev/null +++ b/TemplePushing.c4s/System.c4g/Vanish.c @@ -0,0 +1,28 @@ +/*-- Make certain items vanish --*/ + +#strict 2 + +#appendto ARRW +#appendto FARW +#appendto TSWB +#appendto SPER + +protected func Hit() +{ + if (GetID() == FARW) + { + Schedule("RemoveObject()", 80, 0, 0); + } + else if (GetID() == SPER) + { + Schedule("RemoveObject()", 50, 0, 0); + } + else + { + CastParticles("MSpark", 20,5, 0,0, 25, 30, RGBa(128,128,255,0), RGBa(255,255,255,127)); + RemoveObject(); + return 1; + } +} + + diff --git a/TemplePushing.c4s/Temp.c4d/Apocalypse_Hazard.png b/TemplePushing.c4s/Temp.c4d/Apocalypse_Hazard.png Binary files differdeleted file mode 100644 index 5e231a7..0000000 --- a/TemplePushing.c4s/Temp.c4d/Apocalypse_Hazard.png +++ /dev/null diff --git a/TemplePushing.c4s/Temp.c4d/Deathmatch_Old.png b/TemplePushing.c4s/Temp.c4d/Deathmatch_Old.png Binary files differdeleted file mode 100644 index 2bfe0a4..0000000 --- a/TemplePushing.c4s/Temp.c4d/Deathmatch_Old.png +++ /dev/null diff --git a/TemplePushing.c4s/Temp.c4d/Maplang.bmp b/TemplePushing.c4s/Temp.c4d/Maplang.bmp Binary files differdeleted file mode 100644 index cd806b8..0000000 --- a/TemplePushing.c4s/Temp.c4d/Maplang.bmp +++ /dev/null diff --git a/TemplePushing.c4s/Temp.c4d/Mapsymm.bmp b/TemplePushing.c4s/Temp.c4d/Mapsymm.bmp Binary files differdeleted file mode 100644 index 5b6893a..0000000 --- a/TemplePushing.c4s/Temp.c4d/Mapsymm.bmp +++ /dev/null diff --git a/TemplePushing.c4s/Temp.c4d/Names.txt b/TemplePushing.c4s/Temp.c4d/Names.txt deleted file mode 100644 index 23fb108..0000000 --- a/TemplePushing.c4s/Temp.c4d/Names.txt +++ /dev/null @@ -1,2 +0,0 @@ -DE:Extraobjekte -US:Additional Objects
\ No newline at end of file diff --git a/TemplePushing.c4s/Temp.c4d/OldSuddenDeathMap.bmp b/TemplePushing.c4s/Temp.c4d/OldSuddenDeathMap.bmp Binary files differdeleted file mode 100644 index 9b2fbf0..0000000 --- a/TemplePushing.c4s/Temp.c4d/OldSuddenDeathMap.bmp +++ /dev/null diff --git a/TemplePushing.c4s/Temp.c4d/RotateInJump_Old.png b/TemplePushing.c4s/Temp.c4d/RotateInJump_Old.png Binary files differdeleted file mode 100644 index b93b673..0000000 --- a/TemplePushing.c4s/Temp.c4d/RotateInJump_Old.png +++ /dev/null diff --git a/TemplePushing.c4s/Title.txt b/TemplePushing.c4s/Title.txt index 899e405..53cf67b 100644 --- a/TemplePushing.c4s/Title.txt +++ b/TemplePushing.c4s/Title.txt @@ -1,2 +1,2 @@ -DE:Tempelschubsen v6.1.7601.18409 -US:TemplePush v6.1.7601.18409
\ No newline at end of file +DE:Tempelschubsen r0.741b +US:Temple Pushing r0.741b diff --git a/TemplePushing.c4s/Version.txt b/TemplePushing.c4s/Version.txt index 947dd79..60b3fd0 100644 --- a/TemplePushing.c4s/Version.txt +++ b/TemplePushing.c4s/Version.txt @@ -1 +1 @@ -v6.1.7601.18409
\ No newline at end of file +r0.741b |
