diff options
Diffstat (limited to 'TemplePushing.c4s/CliffPushing.c4d')
113 files changed, 983 insertions, 0 deletions
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Ambiente.wav b/TemplePushing.c4s/CliffPushing.c4d/Ambiente.wav Binary files differnew file mode 100644 index 0000000..9bd2ab1 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Ambiente.wav diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/FireBomb.c b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/FireBomb.c new file mode 100644 index 0000000..125bd49 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/FireBomb.c @@ -0,0 +1,20 @@ +#strict +#appendto FBMP + +func Activate(pClonk) +{ + [$Shot$|Image=GNPW] + Sound("Blast2"); + Exit(this(),-10+20*GetDir(pClonk)); + SetXDir(-80+160*GetDir(pClonk)); + SetYDir(-10); + return(1); +} + +func Hit() +{ + if (Random(2)) return(_inherited()); + SetYDir(-20); + Sound("BOING"); + return(1); +} diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/DefCore.txt new file mode 100644 index 0000000..6ed04c9 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/DefCore.txt @@ -0,0 +1,10 @@ +[DefCore] +id=_MFL +Version=4,9,8 +Name=MagicFlint +Category=C4D_Magic +Width=1 +Height=1 +Value=25 +Components=IROC=2;ILOA=2 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/DescDE.txt new file mode 100644 index 0000000..bc8405a --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/DescDE.txt @@ -0,0 +1 @@ +Zaubert einen Flint herbei.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/DescUS.txt new file mode 100644 index 0000000..80f5e9e --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/DescUS.txt @@ -0,0 +1 @@ +Summons a flint.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..9fd8437 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/Names.txt new file mode 100644 index 0000000..b182b58 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Flint herbeizaubern +US:Summon flint diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/Script.c new file mode 100644 index 0000000..b514189 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Flint.c4d/Script.c @@ -0,0 +1,31 @@ +/* Flint herbeizaubern */ + +#strict +static FlintID; + +public func Activate(pCaster,pRealcaster) { + var pSlurp; + var pFlint; + + FlintID=[FLNT,SFLN,EFLN]; + + // Effekt prüfen + var iResult; + if (iResult = CheckEffect("FlintNSpell", 0, 125)) return(iResult!=-1 && RemoveObject()); + // Sound + Sound("Magic*"); + // Effekt + CreateParticle("MSpark", 0,0, 1000, RGBa(255,50,50,150)); + + if(pRealcaster) pCaster=pRealcaster; + { pFlint = CreateContents(FlintID[Random(GetLength(FlintID))],pCaster); } + + RemoveObject(); + + return(1); +} + +/* Zaubercombo */ + +public func GetSpellClass(object pMage) { return(EART); } +public func GetSpellCombo(pMage) { return("422"); } // (1: Backward; 2: Down; 3: Forward; 4: Throw; 5: Jump; 6: Dig) diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DefCore.txt new file mode 100644 index 0000000..09eaa86 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=_FWV +Version=4,9,8 +Name=Frostwave +Category=C4D_Magic +Value=18 +Components=IICE=4 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescDE.txt new file mode 100644 index 0000000..0f080c4 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescDE.txt @@ -0,0 +1 @@ +Sendet eine Frostwelle aus, die Gegner wegschleudert und einfriert.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescUS.txt new file mode 100644 index 0000000..956f6c4 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescUS.txt @@ -0,0 +1 @@ +Casts an frostwave which flings enemys away.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..4519567 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Names.txt new file mode 100644 index 0000000..8615e7c --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Frostwelle +US:Frost wave diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Script.c new file mode 100644 index 0000000..142a8cb --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Script.c @@ -0,0 +1,86 @@ +#strict + +func Activate(pCaster,pRealcaster) { + var pClonk, pComboObj; + if(pRealcaster) pClonk=pRealcaster; + else pClonk=pCaster; + + var iNum = AddEffect("FrostwaveNSpell",0,130,1,0,GetID(),0,GetX(pCaster),GetY(pCaster),pClonk); + if (iNum <= 0) return (iNum<0, RemoveObject()); + Sound("MgWind*"); + RemoveObject(); + return(1); +} + +func FxFrostwaveNSpellStart(object pTarget, int iNumber, int iTemp, int iAngle, int iX, int iY, object pCaller) { + if(iTemp) return(); + + // Radius anpassen + EffectVar(1,pTarget,iNumber) = 20; + + // Position + EffectVar(2,pTarget,iNumber) = iX; + EffectVar(3,pTarget,iNumber) = iY; + + // Zauberer + EffectVar(4,pTarget,iNumber) = pCaller; + EffectVar(6,pTarget,iNumber) = GetController(pCaller); + + // Kombo + var pCombo = FindContents(ICE1, pCaller); + if (pCombo) + { + EffectVar(5,pTarget,iNumber) = true; + RemoveObject(pCombo); + } +} + +func FxFrostwaveNSpellTimer(object pTarget, int iNumber, int iTime) { + + var iRaduis = EffectVar(1,pTarget,iNumber); + // löschen falls schon zu weit + if(iRaduis >= EffectCall(pTarget,iNumber,"MaxRange")) return(-1); + + // Position + var iX = EffectVar(2,pTarget,iNumber); + var iY = EffectVar(3,pTarget,iNumber); + + // Kombo? + var dwSearchOCF = OCF_Alive; + if (EffectVar(5,pTarget,iNumber)) dwSearchOCF += OCF_Collectible; + + // Effekt! + CreateParticle("FrostWave",iX,iY, RandomX(-1,1),RandomX(-1,1), 400+10*iRaduis,RGB(255,255,255)); +var obj; + + var angle; + // Alle Gegner wegschleudern + while(obj = FindObject(0, -iRaduis-5+iX,-iRaduis-5+iY,iRaduis*2+10,iRaduis*2+10, dwSearchOCF, 0,0, NoContainer(), obj)) + { + if(obj == Contained()) continue; + if(Inside(Distance(GetX(obj), GetY(obj), iX, iY), iRaduis-5, iRaduis+5)) + { + angle=Angle(iX, iY, GetX(obj), GetY(obj) ); + if(GetAlive(obj)) + { + obj->SetKiller(EffectVar(6,pTarget,iNumber)); + Fling(obj, Sin(angle, 80)/9, -Cos(angle, 80)/9); + if(!Frozen(obj)) Freeze(obj, EffectVar(4,pTarget,iNumber)); + } + else + { + SetXDir(Sin(angle, 50), obj); SetYDir(-Cos(angle, 50), obj); + SetController(GetController(EffectVar(4,pTarget,iNumber)),obj); + } + } + } + + EffectVar(1,pTarget,iNumber)+=8; +} + +func FxFrostwaveNSpellMaxRange() { return(75); } + +/* Zaubercombo */ + +public func GetSpellClass(object pMage) { return(WATR); } +public func GetSpellCombo(pMage) { return ("335"); } // (1: Backward; 2: Down; 3: Forward; 4: Throw; 5: Jump; 6: Dig) diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..b4a8989 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Particle.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Particle.txt new file mode 100644 index 0000000..56ed2c0 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Particle.txt @@ -0,0 +1,13 @@ +[Particle] +Name=FrostWave +MaxCount=350 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +Face=0,0,64,64,-32,-32 +GravityAcc=0 +RByV=1 +AlphaFade=5 +Delay=0 +Additive=1 +Repeats=1 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Maplang.bmp b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Maplang.bmp Binary files differnew file mode 100644 index 0000000..cd806b8 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Maplang.bmp diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Mapsymm.bmp b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Mapsymm.bmp Binary files differnew file mode 100644 index 0000000..08e92d2 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Mapsymm.bmp diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Names.txt new file mode 100644 index 0000000..23fb108 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Extraobjekte +US:Additional Objects
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/DefCore.txt new file mode 100644 index 0000000..c31ec02 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/DefCore.txt @@ -0,0 +1,22 @@ +[DefCore] +id=OGBT +Version=4,9,8 +Name=Goblet +Category=C4D_Object|C4D_SelectMaterial|C4D_SelectHomebase +MaxUserSelect=10 +Timer=5 +TimerCall=FillCheck +Width=8 +Height=9 +Offset=-4,-4 +Vertices=4 +VertexX=-4,4,-4,4 +VertexY=-4,-4,4,4 +VertexFriction=50,50,50,50 +Value=85 +Mass=10 +Components=KELK=1 +Picture=0,9,35,48 +Rebuy=1 +Collectible=1 +Rotate=1 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/DescDE.txt new file mode 100644 index 0000000..bae43a3 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/DescDE.txt @@ -0,0 +1 @@ +Magisches Trinkgefäß. Bringt, wenn gefüllt, dem Träger Lebensenergie.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/DescUS.txt new file mode 100644 index 0000000..9bd1347 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/DescUS.txt @@ -0,0 +1 @@ +Magical container of liquids. Replenishes the bearer's energy.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/DefCore.txt new file mode 100644 index 0000000..134d1d8 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/DefCore.txt @@ -0,0 +1,22 @@ +[DefCore] +id=EGBL +Version=4,9,8 +Name=Goblet +Category=C4D_Object|C4D_SelectMaterial|C4D_SelectKnowledge|C4D_SelectHomebase +MaxUserSelect=10 +Timer=5 +TimerCall=FillCheck +Width=8 +Height=9 +Offset=-4,-4 +Vertices=4 +VertexX=-4,4,-4,4 +VertexY=-4,-4,4,4 +VertexFriction=50,50,50,50 +Value=85 +Mass=10 +Components=METL=2 +Picture=0,9,35,48 +Rebuy=1 +Collectible=1 +Rotate=1 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/DescDE.txt new file mode 100644 index 0000000..d360789 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/DescDE.txt @@ -0,0 +1 @@ +Trinkgefäß.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/DescUS.txt new file mode 100644 index 0000000..9bd1347 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/DescUS.txt @@ -0,0 +1 @@ +Magical container of liquids. Replenishes the bearer's energy.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..2aaf5d5 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Names.txt new file mode 100644 index 0000000..4c85279 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Kelch +US:Goblet
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Script.c new file mode 100644 index 0000000..bdd3eeb --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Script.c @@ -0,0 +1,25 @@ +/*-- Leerer Kelch --*/ + +#strict + +local iFill, iTimer; + +func FillCheck() + { + ++iTimer; + if(!(iTimer%5)) + { + var iX = Sin(GetR(), RandomX(-4,8) ); + var iY = -Cos(GetR(), RandomX(-4,4) ); + if(!Contained()) + CreateParticle("NoGravSpark", iX, iY,0,0,RandomX(25, 55),RGBa(255,255,0,120)); + iTimer=0; + } + if(GetMaterial() == Material("Water")) + { + if((iFill+=ExtractMaterialAmount(0,2, Material("Water"), 6))>=10 ) + ChangeDef(GBLT); + } + } + +public func IsMagicProduct() { return(true); } diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Title.png b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Title.png Binary files differnew file mode 100644 index 0000000..bd299ab --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/EmptyGoblet.c4d/Title.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..cc8e6cf --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Names.txt new file mode 100644 index 0000000..4c85279 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Kelch +US:Goblet
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Script.c new file mode 100644 index 0000000..a040037 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Script.c @@ -0,0 +1,54 @@ +/*-- Kelch --*/ + +#strict + +local iTimer; + +func Initialize() + { + return(1); + } + +func FillCheck() + { + if(!Contained()) + if(Inside(GetR(), 20, 340)) + Hit(); + if(!(iTimer%5)) + { + var iX = Sin(GetR(), RandomX(-4,4) ); + var iY = -Cos(GetR(), RandomX(-4,1) ); + if(!Contained()) + CreateParticle("NoGravSpark", iX, iY,0,0,RandomX(25, 55),RGBa(255,255,0,120)); + } + iTimer++; + if(iTimer>=10) + { + if(GetOCF(Contained()) & OCF_CrewMember()) + DoEnergy(+15, Contained()); + iTimer=0; + } + return(1); + } + +func Hit() + { + if(!GBackLiquid()) + { + for(var i=15; i>0; i--) + { + var iX=Sin(GetR(), RandomX(4,8)), iY=-Cos(GetR(), RandomX(4,8)), iXDir=GetWind()*30/100, iYDir=-Cos(GetR()+RandomX(-2,2), Random(7)); + InsertMaterial(Material("Water"), iX, iY, iXDir, iYDir); + } + SetEmpty(); + } + } + +private func SetEmpty() + { + ChangeDef(EGBL); + return(1); + } + +// Mit Kelch: Aufwertung zum Magus +public func GetRevaluationCombo() { return(MAGE); } diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Title.png b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Title.png Binary files differnew file mode 100644 index 0000000..16aa9b6 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/OGoblet.c4d/Title.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Sky.jpg b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Sky.jpg Binary files differnew file mode 100644 index 0000000..d060665 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Sky.jpg diff --git a/TemplePushing.c4s/CliffPushing.c4d/ExtremeAmbiente.wav b/TemplePushing.c4s/CliffPushing.c4d/ExtremeAmbiente.wav Binary files differnew file mode 100644 index 0000000..3a5f174 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/ExtremeAmbiente.wav diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/DefCore.txt new file mode 100644 index 0000000..ab2cba9 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/DefCore.txt @@ -0,0 +1,7 @@ +[DefCore] +id=RAIN +Name=Rain +Version=4,9,5 +Category=C4D_StaticBack +MaxUserSelect=1 +Value=1
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/DescDE.txt new file mode 100644 index 0000000..55fe10e --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/DescDE.txt @@ -0,0 +1 @@ +Es regnet den ganzen Tag, aber irgendwie seh ich kein einzigen Tropfen Wasser!
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/DescUS.txt new file mode 100644 index 0000000..ba66ef1 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/DescUS.txt @@ -0,0 +1 @@ +It rains the whole time, but there is no only drop of water
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/DefCore.txt new file mode 100644 index 0000000..3da4878 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=FLRN +Name=Sudden Death +Version=4,9,5 +Category=C4D_StaticBack +MaxUserSelect=1 +Value=1 +Picture=0,0,64,64
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/DescDE.txt new file mode 100644 index 0000000..d63d0bf --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/DescDE.txt @@ -0,0 +1 @@ +Es regnet Flints und es entstehen Wurmlöcher die ins Nichts führen. Was will man mehr?
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/DescUS.txt new file mode 100644 index 0000000..36b2f0e --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/DescUS.txt @@ -0,0 +1 @@ +It's raining men!
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..c9c7c9b --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/Script.c new file mode 100644 index 0000000..8fdcf9d --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/FlintRain.c4d/Script.c @@ -0,0 +1,23 @@ +/*-- Flintregen --*/ + +#strict + +protected func Initialize() { + SetPosition(0,0); + AddEffect("Flnt",0,1,20,0,GetID()); + return(1); +} + +func FxFlntTimer() +{ + if (!Random(20)) + { + //Wurmloch + CreateObject(MGWP,Random(LandscapeWidth()),Random(LandscapeHeight()))->Activate(FindObject()); + //Und einmal Free-Shaken + ShakeFree(Random(LandscapeWidth()),Random(LandscapeHeight()),Random(100)); + } + //Zum Schluss noch ein kleines Geschenk des Himmels + var flnt = CreateObject(SFLN,Random(LandscapeWidth()),0); + return(1); +} diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..2ac7a18 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Names.txt new file mode 100644 index 0000000..d439aa7 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Regen +US:Rain
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..5fd65db --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Names.txt new file mode 100644 index 0000000..b836a4c --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Regentropfen +US:Raindrop diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Particle.txt b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Particle.txt new file mode 100644 index 0000000..867e00a --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Particle.txt @@ -0,0 +1,13 @@ +[Particle] +Name=Rain +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/CliffPushing.c4d/Rain.c4d/Rain.c4d/Rain.wav b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Rain.wav Binary files differnew file mode 100644 index 0000000..aee9dd8 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Rain.c4d/Rain.wav diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Script.c new file mode 100644 index 0000000..f31a3f9 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Script.c @@ -0,0 +1,22 @@ +/*-- Regen --*/ + +#strict + +protected func Initialize() { + SetPosition(0,0); + AddEffect("Rain",0,1,1,0,GetID()); + SoundLevel("Rain",100); + return(1); +} + +func FxRainTimer() +{ + var color = RGB(150,150,255); + if (FindObject(RCKF)) color = RGB(100,0,0); + for (var i;i<3;i++) + CreateParticle("Rain",Random(LandscapeWidth()),0,0,200,Random(300),RGB(170,170,255)); + if (!Random(200)) Sound("Thunders*"); + if (!Random(50) && FindObject(FRRN)) CreateObject(DFLM,Random(LandscapeWidth())); + return(1); +} + diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Thunders1.wav b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Thunders1.wav Binary files differnew file mode 100644 index 0000000..0d4f247 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Thunders1.wav diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Thunders2.wav b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Thunders2.wav Binary files differnew file mode 100644 index 0000000..02af2fe --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rain.c4d/Thunders2.wav diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DefCore.txt new file mode 100644 index 0000000..0342fe5 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DefCore.txt @@ -0,0 +1,9 @@ +[DefCore] +id=FRRN +Version=4,9,8 +Name=Armageddon +Category=C4D_StaticBack|C4D_Rule +MaxUserSelect=1 +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescDE.txt new file mode 100644 index 0000000..ecf7b67 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescDE.txt @@ -0,0 +1 @@ +Lässt es Feuer regnen und sichert den Nachschub an Terra-Flints.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescUS.txt new file mode 100644 index 0000000..98c639e --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescUS.txt @@ -0,0 +1 @@ +Let fire rains and creates flints in the inventory of each clonk.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..30e20a2 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Script.c new file mode 100644 index 0000000..e037351 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Script.c @@ -0,0 +1,7 @@ +/*-- Feuerregen --*/ + +#strict + +protected func Activate(iPlr) { + MessageWindow(GetDesc(),iPlr); +} diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DefCore.txt new file mode 100644 index 0000000..ed84dcf --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DefCore.txt @@ -0,0 +1,9 @@ +[DefCore] +id=DTHM +Version=4,9,8 +Name=Deathmatch +Category=C4D_StaticBack|C4D_Rule +MaxUserSelect=1 +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescDE.txt new file mode 100644 index 0000000..70921c2 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescDE.txt @@ -0,0 +1 @@ +Jeder Spieler muss versuchen 10 Gegner zu töten, damit sein Team gewinnt.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescUS.txt new file mode 100644 index 0000000..c1eba93 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescUS.txt @@ -0,0 +1 @@ +That player wich kills 10 enemys wins the game.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..2bfe0a4 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Script.c new file mode 100644 index 0000000..cbb211d --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Script.c @@ -0,0 +1,7 @@ +/*-- Deathmatch --*/ + +#strict + +protected func Activate(iPlr) { + MessageWindow(GetDesc(),iPlr); +} diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescDE.txt new file mode 100644 index 0000000..bf4504d --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescDE.txt @@ -0,0 +1 @@ +Regelobjekte bestimmen den Spielablauf und bieten in Einzelfällen Sonderoptionen.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescUS.txt new file mode 100644 index 0000000..022d0bf --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescUS.txt @@ -0,0 +1 @@ +Rule objects affect general game play and in some cases offer special options.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DefCore.txt new file mode 100644 index 0000000..1ddf7c5 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DefCore.txt @@ -0,0 +1,9 @@ +[DefCore] +id=FYPG +Version=4,9,8 +Name=Friendly Pushing +Category=C4D_StaticBack|C4D_Rule +MaxUserSelect=1 +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescDE.txt new file mode 100644 index 0000000..729840e --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescDE.txt @@ -0,0 +1 @@ +Clonks können befreundete Spieler schubsen
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescUS.txt new file mode 100644 index 0000000..6b5d08d --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescUS.txt @@ -0,0 +1 @@ +Clonks can push allied players.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..d97f792 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Names.txt new file mode 100644 index 0000000..34d3e41 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Teamschubsen +US:Friendly Pushing
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Script.c new file mode 100644 index 0000000..fb43957 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Script.c @@ -0,0 +1,5 @@ +/*-- Friendly Pushing --*/ + +#strict + +protected func Activate(int plr) { MessageWindow(GetDesc(), plr); } diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DefCore.txt new file mode 100644 index 0000000..f57caf8 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DefCore.txt @@ -0,0 +1,9 @@ +[DefCore] +id=MSPW +Version=4,9,8 +Name=MagicSpawnpoints +Category=C4D_StaticBack|C4D_Rule +MaxUserSelect=1 +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescDE.txt new file mode 100644 index 0000000..4370091 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescDE.txt @@ -0,0 +1 @@ +Im Spiel finden sich Spawnpoints, die als sicherer Nachschub an Schriftrollen dienen.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescUS.txt new file mode 100644 index 0000000..f1ebe61 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescUS.txt @@ -0,0 +1 @@ +Creates some spawnpoints in the game wich are creating scrolls.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..351d65c --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/ActMap.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/ActMap.txt new file mode 100644 index 0000000..f29cad6 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/ActMap.txt @@ -0,0 +1,4 @@ +[Action] +Name=Invis +Facet=10,0,10,10 +NextAction=Hold diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DefCore.txt new file mode 100644 index 0000000..8016aaa --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DefCore.txt @@ -0,0 +1,12 @@ +[DefCore] +id=MSPN +Name=MagicSpawnpoint +Version=4,9,5 +Category=25165825 +Width=10 +Height=10 +Offset=-5,-5 +Picture=0,0,10,10 +Timer=5 +TimerCall=Timer +Collectible=1
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescDE.txt new file mode 100644 index 0000000..9124f18 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescDE.txt @@ -0,0 +1 @@ +Lässt Schriftrollen als Nachschub erscheinen.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescUS.txt new file mode 100644 index 0000000..ea35e3e --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescUS.txt @@ -0,0 +1 @@ +Spawns scrolls.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..c5f3687 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Names.txt new file mode 100644 index 0000000..a0ef292 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Magischer Spawnpunkt +US:Magic Spawnpoint
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Script.c new file mode 100644 index 0000000..4466a3a --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Script.c @@ -0,0 +1,177 @@ +/*-- Magic Spawnpoint --*/ + +#strict + +local initialized, angle, player, spawntimer,WpID; + +func IsWaypoint() { return(1); } + +global func PlaceSpawnpoint(id idObj, int iX, int iY, int timer) +{ + var spwn = CreateObject(MSPN, iX, iY, -1); + spwn->CreateContents(idObj); + if(timer) + spwn->LocalN("spawntimer") = timer; + return(spwn); +} + +protected func Initialize() +{ + if(Random(14)) WpID=SCRL; + else WpID=OGBT; + // Standardtimer = 1000 Frames + spawntimer = 1000; + SetClrModulation(RGBa(0,0,0,255)); +} + +protected func Timer() +{ + if(!player) player = CreateArray(); + // Noch nicht initialisiert? + if(!initialized) + // Ein Inhaltsobjekt? + if(Contents()) + // Initialisieren + return(Initialized()); + // Kein Inhalt? + if(!Contents()) + { + return(CreateContents(WpID)); + } + // Tolle Effekt starten + angle += 10; + if(angle >= 360) angle = 0; + SetObjDrawTransform(1000, 0,0,0, 1000, Sin(angle, 8)*1000 - 2000,0, 1); + if(Random(2)) CreateParticle("NoGravSpark", RandomX(-5,5), RandomX(5,10), 0, -5, 25, RGBa(210, 210, 255, 100)); + // Alle Timer runterzählen + DecreaseTimer(); +} + +private func Initialized() +{ + // Unsichtbar werden + SetAction("Invis"); + // Objekt als Layer auflegen + SetGraphics(0, 0, GetID(Contents()), 1, 1); + // Transformation + SetObjDrawTransform(1000, 0,0,0, 1000, -5000,0, 1); + // Sammeleffekt starten +// AddEffect("Collect", this(), 1, 3, this()); + // Objekt(e) erzeugen + // Waffen-Bleiben-Regel +//player = CreateArray(); + // Initialisiert + initialized = true; +} + +/* Timer runterzählen */ + +private func DecreaseTimer() +{ + // Waffen-Bleiben-Regel + if(FindObject(WPST)) + { + for(var i=0 ; i < GetPlayerCount() ; i++) + // Spielertimer runterzählen + { + if(player[GetPlayerByIndex(i)]) + player[GetPlayerByIndex(i)] -= 5; + if(player[GetPlayerByIndex(i)] <= 0 && !(Local() & 2**GetPlayerByIndex(i))) + { + // Spieler kann das Objekt wieder einsammeln + player[GetPlayerByIndex(i)] = 0; + Local() += 2**GetPlayerByIndex(i); + } + } + } + else + { + // Timer runterzählen + player[0] -= 5; + if(player[0] <= 0) + { + // Objekt ist wieder da + player[0] = 0; + Local() = true; + SetVisibility(VIS_All()); + } + } +} + +/* Einsammel-Effekte */ +/* +public func FxCollectTimer() +{ + // Ist ein Clonk hier? -> Einsammeln lassen + var pObj; + for(var pClonk in FindObjects(Find_AtPoint(), Find_OCF(OCF_CrewMember()), Find_OCF(OCF_CrewMember()), Find_NoContainer())) + if(CheckCollect(GetOwner(pClonk))) + { + pObj = FindContents(); + // Kann der Clonk einsammeln? + Collect(pObj, pClonk); + if(Contained(pObj) == this()) RemoveObject(pObj); + else + { + Sound("Grab", 0, pClonk, 0, GetOwner(pClonk)+1); + Collected(GetOwner(pClonk)); + } + } +}*/ + +public func RejectEntrance(object pClonk) +{ + // Objekt ist ein Clonk? + if(!(GetOCF(pClonk) & OCF_CrewMember) && !(pClonk->~CanCollectFromSpawnpoints())) return(1); + // Ich hab Contents? + if(!Contents()) return(1); + // Darf einsammeln + if(CheckCollect(GetOwner(pClonk))) + { + var pObj = Contents(); + // Kann der Clonk einsammeln? + if(ObjectCount(0, 0, 0, 0, 0, 0, 0, 0, pClonk) >= 1) + return(1); + + Collect(pObj, pClonk); + CreateContents(WpID); + Initialized(); + if(Contained(pObj) == this()) RemoveObject(pObj); + else + { + Sound("Grab", 0, pClonk, 0, GetOwner(pClonk)+1); + Collected(GetOwner(pClonk)); + } + } + return(1); +} + +private func CheckCollect(int iPlr) // Überprüft, ob ein Spieler das Objekt einsammeln darf +{ + // Waffen-Bleiben-Regel + if(FindObject(WPST)) + return(Local() & 2**iPlr); + else + return(Local()); +} + +private func Collected(int iPlr) // Regelt, dass ein Spieler das Objekt einsammelt +{ + // Waffen-Bleiben-Regel + if(FindObject(WPST)) + { + // Spielertimer hochsetzen + player[iPlr] = spawntimer; + // Nicht mehr sichtbar für den Spieler + Local() -= 2**iPlr; + } + else + { + // Timer hochsetzen + player[0] = spawntimer; + // Nicht mehr einsammelbar + Local() = false; + // Nicht mehr sichtbar + SetVisibility(VIS_God()); + } +} diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DefCore.txt new file mode 100644 index 0000000..f7f528c --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=SMGC +Version=4,9,8 +Name=SymbolMagic +Category=C4D_StaticBack +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescDE.txt new file mode 100644 index 0000000..e8257be --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescDE.txt @@ -0,0 +1 @@ +Anstatt Gegenständen erscheinen nur Schriftrollen
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescUS.txt new file mode 100644 index 0000000..f2b1ba6 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescUS.txt @@ -0,0 +1 @@ +Instead of objects spawnpoints contents just scrolls
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..0fa62b6 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Names.txt new file mode 100644 index 0000000..8e9cb1f --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Magisches Schubsen +US:Magical Push diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Names.txt new file mode 100644 index 0000000..9d875f8 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Magischer Spawnpunktspawner +US:Magic Spawnpoint Spawner diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Script.c new file mode 100644 index 0000000..d1e7b39 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Script.c @@ -0,0 +1,29 @@ +/*-- Magische Spawnpoints --*/ + +#strict + +protected func Activate(iPlr) { + MessageWindow(GetDesc(),iPlr); +} + +func Initialize() +{ + SetGamma(RGB(5,5,10),RGB(80,80,150),RGB(200,200,255)); + RemoveAll(SPNP); + CreateObject(MSPN,550,282); + CreateObject(MSPN,603,205); + CreateObject(MSPN,682,282); + CreateObject(MSPN,784,227); + CreateObject(MSPN,912,168); + CreateObject(MSPN,1040,120); + CreateObject(MSPN,651,449); + CreateObject(MSPN,432,438); + CreateObject(MSPN,170,118); + CreateObject(MSPN,299,170); + CreateObject(MSPN,435,230); + CreateObject(MSPN,1175,290); + CreateObject(MSPN,105,380); + CreateObject(MSPN,910,400); + CreateObject(MSPN,560,610); + return(1); +}
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DefCore.txt new file mode 100644 index 0000000..4515779 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DefCore.txt @@ -0,0 +1,9 @@ +[DefCore] +id=JSTS +Version=4,9,8 +Name=JustScrolls +Category=C4D_StaticBack|C4D_Rule +MaxUserSelect=1 +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescDE.txt new file mode 100644 index 0000000..96cfed2 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescDE.txt @@ -0,0 +1 @@ +In den Spawnpoints erscheinen nur Schriftrollen.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescUS.txt new file mode 100644 index 0000000..4fb171e --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescUS.txt @@ -0,0 +1 @@ +Spawnpoints contents just magic scrolls.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..351d65c --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DefCore.txt new file mode 100644 index 0000000..f7f528c --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=SMGC +Version=4,9,8 +Name=SymbolMagic +Category=C4D_StaticBack +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescDE.txt new file mode 100644 index 0000000..e8257be --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescDE.txt @@ -0,0 +1 @@ +Anstatt Gegenständen erscheinen nur Schriftrollen
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescUS.txt new file mode 100644 index 0000000..f2b1ba6 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescUS.txt @@ -0,0 +1 @@ +Instead of objects spawnpoints contents just scrolls
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..0fa62b6 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Names.txt new file mode 100644 index 0000000..8e9cb1f --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Magisches Schubsen +US:Magical Push diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Names.txt new file mode 100644 index 0000000..ac705b1 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Nur Schriftrollen +US:Only scrolls
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Script.c new file mode 100644 index 0000000..43af0ec --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Script.c @@ -0,0 +1,21 @@ +/*-- Nur Schriftrollen --*/ + +#strict + +protected func Activate(iPlr) { + MessageWindow(GetDesc(),iPlr); +} + +func Initialize() +{ +SetGamma(RGB(5,5,10),RGB(80,80,150),RGB(200,200,255)); + var pObj; + if (!FindObject(SPNP)) SPWN->Initialize(); + while (pObj = FindObject(SPNP,0,0,0,0,0,0,0,0,pObj)) + { + pObj->Initialize(); + RemoveObject(FindContents(0,pObj)); + CreateContents(SCRL,pObj); + } +return(10); +} diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DefCore.txt new file mode 100644 index 0000000..41af2f9 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DefCore.txt @@ -0,0 +1,9 @@ +[DefCore] +id=SPWN +Version=4,9,8 +Name=Spawnpoint Spawner +Category=C4D_StaticBack|C4D_Rule +MaxUserSelect=1 +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescDE.txt new file mode 100644 index 0000000..3c5c1ff --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescDE.txt @@ -0,0 +1 @@ +Im Spiel finden sich Spawnpoints, die als sicherer Nachschub an Waffen und Tränken dienen.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescUS.txt new file mode 100644 index 0000000..7a978dc --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescUS.txt @@ -0,0 +1 @@ +Creates some spawnpoints in the game wich are creating weapons and potions.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..1543a79 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Names.txt new file mode 100644 index 0000000..86138a6 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Spawnpointspawner +US:Spawnpoint Spawner diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Script.c new file mode 100644 index 0000000..a762af8 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Script.c @@ -0,0 +1,28 @@ +/*-- Spawnpoints --*/ + +#strict + +protected func Activate(iPlr) { + MessageWindow(GetDesc(),iPlr); +} + +func Initialize() +{ + RemoveAll(MSPN); + CreateObject(SPNP,550,282); + CreateObject(SPNP,603,205); + CreateObject(SPNP,682,282); + CreateObject(SPNP,784,227); + CreateObject(SPNP,912,168); + CreateObject(SPNP,1040,120); + CreateObject(SPNP,651,449); + CreateObject(SPNP,432,438); + CreateObject(SPNP,170,118); + CreateObject(SPNP,299,170); + CreateObject(SPNP,435,230); + CreateObject(SPNP,1175,290); + CreateObject(SPNP,105,380); + CreateObject(SPNP,910,400); + CreateObject(SPNP,560,610); + return(1); +}
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/ActMap.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/ActMap.txt new file mode 100644 index 0000000..f29cad6 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/ActMap.txt @@ -0,0 +1,4 @@ +[Action] +Name=Invis +Facet=10,0,10,10 +NextAction=Hold diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DefCore.txt new file mode 100644 index 0000000..d95cd88 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DefCore.txt @@ -0,0 +1,12 @@ +[DefCore] +id=SPNP +Name=Spawnpoint +Version=4,9,5 +Category=25165825 +Width=10 +Height=10 +Offset=-5,-5 +Picture=0,0,10,10 +Timer=5 +TimerCall=Timer +Collectible=1
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescDE.txt new file mode 100644 index 0000000..b469ce9 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescDE.txt @@ -0,0 +1 @@ +Lässt Gegenstände als Nachschub erscheinen.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescUS.txt new file mode 100644 index 0000000..3308b95 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescUS.txt @@ -0,0 +1 @@ +Spawns objects.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..c5f3687 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Names.txt new file mode 100644 index 0000000..c6a1143 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Spawnpunkt +US:Spawnpoint
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Script.c new file mode 100644 index 0000000..6172d25 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Script.c @@ -0,0 +1,177 @@ +/*-- Spawnpoint --*/ + +#strict + +local initialized, angle, player, spawntimer,WpID; + +func IsWaypoint() { return(1); } + +global func PlaceSpawnpoint(id idObj, int iX, int iY, int timer) +{ + var spwn = CreateObject(SPNP, iX, iY, -1); + spwn->CreateContents(idObj); + if(timer) + spwn->LocalN("spawntimer") = timer; + return(spwn); +} + +protected func Initialize() +{ + if(Random(4)) WpID = [FLNT,SCRL,SFLN,ROCK]; + else WpID = [EFLN,STFN,FBMP]; + // Standardtimer = 750 Frames + spawntimer = 750; + SetClrModulation(RGBa(0,0,0,255)); +} + +protected func Timer() +{ + if(!player) player = CreateArray(); + // Noch nicht initialisiert? + if(!initialized) + // Ein Inhaltsobjekt? + if(Contents()) + // Initialisieren + return(Initialized()); + // Kein Inhalt? + if(!Contents()) + { + return(CreateContents(WpID[Random(GetLength(WpID))])); + } + // Tolle Effekt starten + angle += 10; + if(angle >= 360) angle = 0; + SetObjDrawTransform(1000, 0,0,0, 1000, Sin(angle, 8)*1000 - 2000,0, 1); + if(Random(2)) CreateParticle("NoGravSpark", RandomX(-5,5), RandomX(5,10), 0, -5, 25, RGBa(210, 210, 255, 100)); + // Alle Timer runterzählen + DecreaseTimer(); +} + +private func Initialized() +{ + // Unsichtbar werden + SetAction("Invis"); + // Objekt als Layer auflegen + SetGraphics(0, 0, GetID(Contents()), 1, 1); + // Transformation + SetObjDrawTransform(1000, 0,0,0, 1000, -5000,0, 1); + // Sammeleffekt starten +// AddEffect("Collect", this(), 1, 3, this()); + // Objekt(e) erzeugen + // Waffen-Bleiben-Regel +//player = CreateArray(); + // Initialisiert + initialized = true; +} + +/* Timer runterzählen */ + +private func DecreaseTimer() +{ + // Waffen-Bleiben-Regel + if(FindObject(WPST)) + { + for(var i=0 ; i < GetPlayerCount() ; i++) + // Spielertimer runterzählen + { + if(player[GetPlayerByIndex(i)]) + player[GetPlayerByIndex(i)] -= 5; + if(player[GetPlayerByIndex(i)] <= 0 && !(Local() & 2**GetPlayerByIndex(i))) + { + // Spieler kann das Objekt wieder einsammeln + player[GetPlayerByIndex(i)] = 0; + Local() += 2**GetPlayerByIndex(i); + } + } + } + else + { + // Timer runterzählen + player[0] -= 5; + if(player[0] <= 0) + { + // Objekt ist wieder da + player[0] = 0; + Local() = true; + SetVisibility(VIS_All()); + } + } +} + +/* Einsammel-Effekte */ +/* +public func FxCollectTimer() +{ + // Ist ein Clonk hier? -> Einsammeln lassen + var pObj; + for(var pClonk in FindObjects(Find_AtPoint(), Find_OCF(OCF_CrewMember()), Find_OCF(OCF_CrewMember()), Find_NoContainer())) + if(CheckCollect(GetOwner(pClonk))) + { + pObj = FindContents(); + // Kann der Clonk einsammeln? + Collect(pObj, pClonk); + if(Contained(pObj) == this()) RemoveObject(pObj); + else + { + Sound("Grab", 0, pClonk, 0, GetOwner(pClonk)+1); + Collected(GetOwner(pClonk)); + } + } +}*/ + +public func RejectEntrance(object pClonk) +{ + // Objekt ist ein Clonk? + if(!(GetOCF(pClonk) & OCF_CrewMember) && !(pClonk->~CanCollectFromSpawnpoints())) return(1); + // Ich hab Contents? + if(!Contents()) return(1); + // Darf einsammeln + if(CheckCollect(GetOwner(pClonk))) + { + var pObj = Contents(); + // Kann der Clonk einsammeln? + if(ObjectCount(0, 0, 0, 0, 0, 0, 0, 0, pClonk) >= 1) + return(1); + + Collect(pObj, pClonk); + CreateContents(WpID[Random(GetLength(WpID))]); + Initialized(); + if(Contained(pObj) == this()) RemoveObject(pObj); + else + { + Sound("Grab", 0, pClonk, 0, GetOwner(pClonk)+1); + Collected(GetOwner(pClonk)); + } + } + return(1); +} + +private func CheckCollect(int iPlr) // Überprüft, ob ein Spieler das Objekt einsammeln darf +{ + // Waffen-Bleiben-Regel + if(FindObject(WPST)) + return(Local() & 2**iPlr); + else + return(Local()); +} + +private func Collected(int iPlr) // Regelt, dass ein Spieler das Objekt einsammelt +{ + // Waffen-Bleiben-Regel + if(FindObject(WPST)) + { + // Spielertimer hochsetzen + player[iPlr] = spawntimer; + // Nicht mehr sichtbar für den Spieler + Local() -= 2**iPlr; + } + else + { + // Timer hochsetzen + player[0] = spawntimer; + // Nicht mehr einsammelbar + Local() = false; + // Nicht mehr sichtbar + SetVisibility(VIS_God()); + } +} diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Title.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Title.txt new file mode 100644 index 0000000..0cec1dc --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Title.txt @@ -0,0 +1,2 @@ +DE:Regeln +US:Rules |
