Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Sans : Actor
- {
- int TiredLevel;
- Default
- {
- Health 5000;
- Radius 20;
- Height 56;
- Mass 500;
- Speed 10;
- PainChance 10;
- Monster;
- MaxTargetRange 896;
- +FLOORCLIP
- +NOTARGET
- +NOBLOOD
- +DONTGIB
- SeeSound "SANSDANC";
- PainSound "SANSPAIN";
- DeathSound "SANSDIE";
- ActiveSound "SANSTALK";
- MeleeSound "vile/stop";
- Obituary "$O was killed by Sans the Skeleton";
- Tag "$FN_SANS";
- damagefactor "sans", 0;
- scale 2.0;
- }
- States
- {
- Spawn:
- TNT1 A 0 A_TiredReset();
- TNT1 A 0
- {
- bNoPain = False;
- }
- SANS YYZZ 10 A_Look;
- Loop;
- Sleep:
- SANS A 10
- {
- bNoPain = True;
- }
- SANS Y 10 A_ClearTarget;
- SANS AY 10;
- SANS YYZZYYZZYYZZYYZZYYZZYYZZYYZZYYZZ 10;
- Goto Spawn;
- See:
- TNT1 A 0 S_ChangeMusic("BADTIME");
- Goto XSee;
- XSee:
- SANS AABBCCDD 3 A_Chase;
- Loop;
- Missile:
- SANS G 0 A_TiredCheck();
- SANS G 0 BRIGHT A_Jump(256, "GasterAttack", "BoneWall", "RandomBone", "FastTravel", "GasterSpin");
- GasterAttack:
- SANS F 5 A_FaceTarget();
- SANS F 10 A_GasterSpawn();
- SANS F 10 A_FaceTarget();
- SANS F 8 A_FaceTarget();
- SANS G 10 BRIGHT A_FaceTarget();
- SANS G 10 A_FaceTarget();
- SANS G 10 A_FaceTarget();
- Goto See;
- BoneWall:
- SANS F 5 A_FaceTarget();
- SANS F 8 BRIGHT A_BoneWallSpawn();
- SANS F 2 A_FaceTarget();
- SANS G 10 A_FaceTarget();
- Goto See;
- RandomBone:
- SANS G 0 A_FaceTarget();
- SANS G 10 A_FaceTarget();
- SANS G 8 A_FaceTarget();
- SANS F 8 BRIGHT A_RandomBoneSpawn();
- SANS F 20 BRIGHT A_FaceTarget();
- Goto See;
- FastTravel:
- SANS F 0 BRIGHT A_SetRenderStyle(0.8, STYLE_Translucent);
- SANS F 5 BRIGHT A_FaceTarget();
- SANS F 0 BRIGHT A_SetRenderStyle(0.6, STYLE_Translucent);
- SANS F 5 BRIGHT A_FaceTarget();
- SANS F 0 BRIGHT A_SetRenderStyle(0.4, STYLE_Translucent);
- SANS F 8 BRIGHT A_FaceTarget();
- SANS F 0 BRIGHT A_SetRenderStyle(0.2, STYLE_Translucent);
- SANS F 8 BRIGHT A_FaceTarget();
- TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander;
- TNT1 A 0 A_FaceTarget();
- SANS E 8 BRIGHT A_SetRenderStyle(0.5, STYLE_Translucent);
- SANS E 20 BRIGHT A_SetRenderStyle(1.0, STYLE_Translucent);
- Goto See;
- GasterSpin:
- SANS F 5 A_FaceTarget();
- SANS F 10 A_GasterSpins();
- SANS F 10 A_FaceTarget();
- SANS F 10 A_Facetarget();
- SANS G 10 BRIGHT A_FaceTarget();
- SANS G 10 A_FaceTarget();
- SANS G 10 A_FaceTarget();
- Goto See;
- Pain:
- SANS E 5 A_SetRenderStyle(1.0, STYLE_Translucent);
- SANS E 5 A_Pain2();
- Goto See;
- Death:
- SANS H 30 S_Changemusic("SILENCE");
- SANS I 3 A_Pain;
- SANS PIPIP 3;
- SANS I 30;
- SANS JJJ 20 A_Pain2();
- SANS K 7 A_Scream;
- SANS LNM 7;
- TNT1 A 0 S_Changemusic("*");
- SANS O 7 A_Fall;
- SANS O -1;
- Stop;
- }
- }
- class GasterBlaster : Actor
- {
- Default
- {
- +NOBLOCKMAP +NOGRAVITY +ZDOOMTRANS
- RenderStyle "Add";
- Alpha 1;
- damagetype "sans";
- }
- States
- {
- Spawn:
- GSTH A 2;
- GSTH A 6 A_GasterSound();
- GSTH AAA 2;
- GSTH BBBB 2 A_FaceTarget();
- GSTH B 6 A_FaceTarget();
- GSTH C 14 BRIGHT A_GasterAttack();
- GSTH B 8;
- GTSH A 8;
- TNT1 A -1;
- Stop;
- }
- }
- Class BonePillarStatic : Actor
- {
- Default
- {
- +FLOORHUGGER;
- +DONTTHRUST;
- +RIPPER;
- Radius 15;
- Height 30;
- Damage 0;
- DamageType "sans";
- PROJECTILE;
- }
- States
- {
- Spawn:
- TNT1 A 0;
- BOAT Z 2;
- TNT1 A 2;
- BOAT Z 2;
- TNT1 A 2;
- BOAT Z 2;
- TNT1 A 2;
- BOAT Z 2;
- TNT1 A 2 SetDamage(1);
- HTFX ABCDE 1;
- BOAT ABCD 1 A_Explode(5,20,0,1,1);
- BOAT EEEEEEEEEEEEEEEEEEEEEE 2; //A_Explode(50,45,0,1,1)
- BOAT DC 1;
- BOAT BA 1;
- HTFX EDCBA 1;
- Stop;
- }
- }
- Class BonePillarStatic2 : Actor
- {
- Default
- {
- -SOLID;
- +THRUACTORS;
- +FLOORHUGGER;
- +DONTTHRUST;
- Radius 1;
- Height 1;
- DamageType "sans";
- PROJECTILE;
- }
- States
- {
- Spawn:
- TNT1 A 0;
- TNT1 A 0 A_SpawnProjectile("BonePillarStatic",0,0,0,CMF_AIMDIRECTION);
- Stop;
- }
- }
- Class BonePillarSpawner : Actor
- {
- Default
- {
- +NOINTERACTION;
- +DONTTHRUST;
- Radius 15;
- Height 55;
- DamageType "sans";
- }
- States
- {
- Spawn:
- TNT1 A 0;
- TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("BonePillarStatic2",Random(-777,777),Random(-777,777));
- Stop;
- }
- }
- Class BonePillarMobile : BonePillarStatic
- {
- Default
- {
- MaxStepHeight 10;
- ProjectilePassHeight 10;
- +RIPPER;
- +NODAMAGETHRUST
- Damage 1;
- Damagetype "sans";
- }
- States
- {
- Spawn:
- TNT1 A 0;
- HTFX ABCDE 1;
- BOAT ABCD 1;
- BOAT EEEE 2 ;
- TNT1 A 0 A_ChangeVelocity(20,0,0,CVF_REPLACE|CVF_RELATIVE);
- Move:
- TNT1 A 0;
- BOAT E 2 A_RadiusThrust(100,10,0);
- TNT1 A 0 A_SpawnItemEx("DustEffect");
- Loop;
- Death:
- BOAT DC 1;
- BOAT BA 1;
- HTFX EDCBA 1;
- Stop;
- }
- }
- Class DustEffect : Actor
- {
- Default
- {
- +NOINTERACTION;
- +NOGRAVITY;
- }
- States
- {
- Spawn:
- TNT1 A 0;
- HTFX EDCBA 2;
- Stop;
- }
- }
- Class GasterSpinner : Actor
- {
- int time;
- Default
- {
- +NOINTERACTION;
- +DONTTHRUST;
- Radius 1;
- Height 40;
- DamageType "sans";
- }
- States
- {
- Spawn:
- TNT1 A 1;
- TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_GasterSpinSpawn();
- TNT1 A 100;
- Stop;
- }
- }
- extend class GasterSpinner
- {
- void A_GasterSpinSpawn()
- {
- let gast = spawn("gasterblaster", pos + ((cos(angle - 30 + time), sin(angle - 30 + time)) * 250, 19)); gast.target = self;
- time += 9;
- }
- }
- extend class Sans
- {
- void A_GasterSpawn()
- {
- A_FaceTarget();
- let gast = spawn("gasterblaster", pos + ((cos(angle - 40), sin(angle - 40)) * -40, 50)); gast.target = target;
- }
- void A_BoneWallSpawn()
- {
- A_FaceTarget();
- A_SpawnProjectile("BonePillarMobile",0,-105,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,-90,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,-75,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,-60,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,-45,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,-30,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,-15,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,0,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,15,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,30,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,45,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,60,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,75,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,90,0,CMF_AIMDIRECTION);
- A_SpawnProjectile("BonePillarMobile",0,105,0,CMF_AIMDIRECTION);
- }
- void A_Pain2()
- {
- A_StartSound("SANSTALK");
- }
- void A_RandomBoneSpawn()
- {
- A_FaceTarget();
- Spawn("BonePillarSpawner", target.pos, ALLOW_REPLACE);
- Spawn("BonePillarSpawner", target.pos, ALLOW_REPLACE);
- Spawn("BonePillarSpawner", target.pos, ALLOW_REPLACE);
- Spawn("BonePillarSpawner", target.pos, ALLOW_REPLACE);
- Spawn("BonePillarSpawner", target.pos, ALLOW_REPLACE);
- Spawn("BonePillarSpawner", target.pos, ALLOW_REPLACE);
- Spawn("BonePillarSpawner", target.pos, ALLOW_REPLACE);
- Spawn("BonePillarSpawner", target.pos, ALLOW_REPLACE);
- Spawn("BonePillarSpawner", target.pos, ALLOW_REPLACE);
- Spawn("BonePillarSpawner", target.pos, ALLOW_REPLACE);
- }
- void A_GasterSpins()
- {
- A_FaceTarget();
- let spin = Spawn("GasterSpinner", target.pos, ALLOW_REPLACE); spin.target = target;
- }
- void A_TiredReset()
- {
- TiredLevel = 0;
- }
- void A_TiredCheck()
- {
- TiredLevel += 1;
- if (TiredLevel == 50)
- {
- SetStateLabel("Sleep");
- TiredLevel *= 0;
- }
- }
- }
- extend class GasterBlaster
- {
- int A_GasterDamage()
- {
- int DMG = 200 - (vec3to(target).length()/8);
- if (DMG < 10)
- {
- DMG = 10;
- }
- Return DMG;
- }
- void A_GasterSound()
- {
- A_FaceTarget();
- A_StartSound("TELEKI");
- }
- void A_GasterAttack()
- {
- A_CustomRailgun(A_GasterDamage() , 0 , color(218, 214, 255) , color(255, 255, 255) , RGF_FULLBRIGHT | rgf_silent , 1 , 1 , "BulletPuff" , 0 , 0 , 0 , 0 , 1.0 , 1.0 , "None" , 0 , 270 , 0 , 3);
- A_StartSound("GASTER2");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement