PWAD b^ /*
http://zdoom.org/wiki/DECALDEF.html
http://zdoom.org/wiki/Decal_animator.html
*/
/*
Assault Drone Burns
*/
/***** Baron of Hell/Hell Knight Scorches **********************************/
fader Assault_Drone_Burn_Fader
{
DecayStart 4.0
DecayTime 12.0
}
decal Assault_Drone_Burn1
{
pic BAL7SCR1
shade "255 255 0"
fullbright
x-scale 0.4
y-scale 0.4
randomflipx
randomflipy
animator Assault_Drone_Burn_Fader
lowerdecal Assault_Drone_Burn_Lower1
}
decal Assault_Drone_Burn_Lower1
{
pic CBALSCR1
shade "255 0 0"
x-scale 0.2
y-scale 0.2
randomflipx
randomflipy
animator Assault_Drone_Burn_Fader
}
decal Assault_Drone_Burn2
{
pic BAL7SCR2
shade "255 255 0"
fullbright
x-scale 0.4
y-scale 0.4
randomflipx
randomflipy
animator Assault_Drone_Burn_Fader
lowerdecal Assault_Drone_Burn_Lower2
}
decal Assault_Drone_Burn_Lower2
{
pic CBALSCR2
shade "255 0 0"
x-scale 0.2
y-scale 0.2
randomflipx
randomflipy
animator Assault_Drone_Burn_Fader
}
decalgroup Assault_Drone_Burns
{
Assault_Drone_Burn1 1
Assault_Drone_Burn2 1
}
decalgroup Assault_Drone_Burns_Lower
{
Assault_Drone_Burn_Lower1 1
Assault_Drone_Burn_Lower2 1
}
//generator Assault_Drone_Projectile Assault_Drone_Burns
/*
Barf Vomits
*/
stretcher Poop1_Stretcher
{
//GoalX 0
GoalY 2
StretchStart 0
StretchTime 35
}
stretcher Poop2_Stretcher
{
//GoalX 0
GoalY 2
StretchStart 0
StretchTime 35
}
slider Poop1_Slider
{
//DistX 0
DistY -5
SlideStart 0
SlideTime 35
}
slider Poop2_Slider
{
//DistX 0
DistY -5
SlideStart 0
SlideTime 35
}
combiner Poop1_Combiner
{
Poop1_Stretcher
Poop1_Slider
}
combiner Poop2_Combiner
{
Poop2_Stretcher
Poop2_Slider
}
decal Poop1
{
pic BARFE0
x-scale 0.5
y-scale 0.5
randomflipx
randomflipy
solid
//animator Poop1_Combiner
}
decal Poop2
{
pic BARFF0
x-scale 0.5
y-scale 0.5
randomflipx
solid
//animator Poop2_Combiner
}
decalgroup Poops
{
Poop1 1
Poop2 1
}
//generator Barf Poops
/*
Blind Rocket Burns
*/
/***** Rocket Scorches *****************************************************/
fader Blind_Rocket_Burn_Fader
{
DecayStart 4.0
DecayTime 12.0
}
decal Blind_Rocket_Burn1
{
pic SCORCH1
shade "0 0 0"
x-scale 0.5
y-scale 0.5
randomflipx
randomflipy
animator Blind_Rocket_Burn_Fader
}
decal Blind_Rocket_Burn2
{
pic SCORCH1
shade "0 0 0"
x-scale 0.75
y-scale 0.75
randomflipx
randomflipy
animator Blind_Rocket_Burn_Fader
}
decalgroup Blind_Rocket_Burns
{
Blind_Rocket_Burn1 1
Blind_Rocket_Burn2 1
}
/*
generator Blind_Rocket Blind_Rocket_Burns
generator Robot_Walker_Rocket Blind_Rocket_Burns
generator Robot_Walker_Tunnel_Rocket Blind_Rocket_Burns
*/
/*
Cultist Flame Torcher Burns
*/
/***** Plasma Rifle Scorches ***********************************************/
fader Cultist_Flame_Torcher_Burn_Fader
{
DecayStart 2.0
DecayTime 6.0
}
decal Cultist_Flame_Torcher_Burn1
{
pic PLASMA1
shade "0 0 0"
randomflipx
randomflipy
//add 1.0
fullbright
animator Cultist_Flame_Torcher_Burn_Fader
//lowerdecal Cultist_Flame_Torcher_Burn_Lower1
}
decal Cultist_Flame_Torcher_Burn_Lower1
{
pic PLASMA1
shade "0 0 0"
x-scale 0.3
y-scale 0.3
randomflipx
randomflipy
}
decal Cultist_Flame_Torcher_Burn2
{
pic PLASMA2
shade "0 0 0"
randomflipx
randomflipy
//add 1.0
fullbright
animator Cultist_Flame_Torcher_Burn_Fader
//lowerdecal Cultist_Flame_Torcher_Burn_Lower2
}
decal Cultist_Flame_Torcher_Burn_Lower2
{
pic PLASMA2
shade "0 0 0"
x-scale 0.3
y-scale 0.3
randomflipx
randomflipy
}
decalgroup Cultist_Flame_Torcher_Burns
{
Cultist_Flame_Torcher_Burn1 1
Cultist_Flame_Torcher_Burn2 1
}
decalgroup Cultist_Flame_Torcher_Burns_Lower
{
Cultist_Flame_Torcher_Burn_Lower1 1
Cultist_Flame_Torcher_Burn_Lower2 1
}
/*
generator Cultist_Flame0 Cultist_Flame_Torcher_Burns
generator Acid_Vapor Cultist_Flame_Torcher_Burns
*/
/*
Grenade
*/
decal Grenade_Burn1
{
pic PLASMA1
shade "0 0 0"
randomflipx
randomflipy
//add 1.0
fullbright
}
decal Grenade_Burn2
{
pic PLASMA2
shade "0 0 0"
randomflipx
randomflipy
//add 1.0
fullbright
}
decalgroup Grenade_Burns
{
Grenade_Burn1 1
Grenade_Burn2 1
}
/*
generator Dumb_Grenade Grenade_Burns
generator Seeker_Grenade Grenade_Burns
*/
/*
Mjolnir Rail Burns
*/
fader Mjolnir_Burn1
{
DecayStart 35
DecayTime 35
}
decal Mjolnir_Burn1
{
pic mjolp0
x-scale 0.35
y-scale 0.35
/*
randomflipx
randomflipy
*/
solid
animator Mjolnir_Burn1
}
decalgroup Mjolnir_Burns
{
Mjolnir_Burn1 1
}
generator MADD_Particle Mjolnir_Burns
generator Mjolnir_Particle Mjolnir_Burns
/*
Ooze Slimes 0
*/
stretcher Ooze1_Stretcher
{
//GoalX 0
GoalY 2
StretchStart 0
StretchTime 35
}
stretcher Ooze2_Stretcher
{
//GoalX 0
GoalY 2
StretchStart 0
StretchTime 35
}
slider Ooze1_Slider
{
//DistX 0
DistY -5
SlideStart 0
SlideTime 35
}
slider Ooze2_Slider
{
//DistX 0
DistY -5
SlideStart 0
SlideTime 35
}
combiner Ooze1_Combiner
{
Ooze1_Stretcher
Ooze1_Slider
}
combiner Ooze2_Combiner
{
Ooze2_Stretcher
Ooze2_Slider
}
decal Ooze1
{
pic OOZET0
shade "4 198 91"
x-scale 0.5
y-scale 0.5
randomflipx
randomflipy
add 1.0
//animator Ooze1_Combiner
}
decal Ooze2
{
pic OOZEU0
shade "4 198 91"
x-scale 0.5
y-scale 0.5
randomflipx
add 1.0
//animator Ooze2_Combiner
}
decalgroup Oozes0
{
Ooze1 1
Ooze2 1
}
//generator Ooze_Ball0 Oozes0
/*
Ooze Slimes 1
*/
stretcher Ooze3_Stretcher
{
//GoalX 0
GoalY 2
StretchStart 0
StretchTime 35
}
stretcher Ooze4_Stretcher
{
//GoalX 0
GoalY 2
StretchStart 0
StretchTime 35
}
slider Ooze3_Slider
{
//DistX 0
DistY -5
SlideStart 0
SlideTime 35
}
slider Ooze4_Slider
{
//DistX 0
DistY -5
SlideStart 0
SlideTime 35
}
combiner Ooze3_Combiner
{
Ooze1_Stretcher
Ooze1_Slider
}
combiner Ooze4_Combiner
{
Ooze2_Stretcher
Ooze2_Slider
}
decal Ooze3
{
pic OOZET0
shade "4 198 91"
x-scale 0.25
y-scale 0.25
randomflipx
randomflipy
add 1.0
//animator Ooze3_Combiner
}
decal Ooze4
{
pic OOZEU0
shade "4 198 91"
x-scale 0.25
y-scale 0.25
randomflipx
add 1.0
//animator Ooze4_Combiner
}
decalgroup Oozes1
{
Ooze3 1
Ooze4 1
}
//generator Ooze_Ball1 Oozes1/*
DECORATE lump script for Custom Marathon Ally UESC Items ACS Enter Script Mod Mod
As main declaration of doom lump scripts
http://zdoom.org/wiki/Namespace
ZDoom organizes the lumps in several namespaces which correspond to different types of lumps.
This allows to avoid conflicts if several lumps have the same name, but one is, for example, a texture while the other is a sound.
Lumps belong to a namespace or another depending on where they are in the archive.
The archive format matters: in sequential archives (such as WAD files), they are delimited by marker lumps; in hierarchized archives, they are in a specific directory.
*/
/*
Monster Scripts
*/
/*
/*
#include ameibmoz
#include assadron
#include barfpeit
*/
#include battroid
#include battro01
#include battro02
#include battro03
#include battro04
#include battro05
#include battro06
#include battro07
#include battro08
#include battro09
#include battro10
#include battro11
#include battro12
#include battro13
#include battro14
#include battro15
#include battro16
#include battro17
#include battro18
#include battro19
#include battro20
#include battro21
#include battro22
#include battro23
#include battro24
#include battro25
#include battro26
#include battro27
#include battro28
#include battro29
#include battro30
#include battro31
#include battro32
#include battro33
#include battro34
#include battro35
#include battro36
#include battro37
#include battro38
#include battro39
#include battro40
#include battro41
#include battro42
#include battro43
#include battro44
#include battro45
#include battro46
#include battro47
#include battro48
#include battro49
#include battro50
#include battro51
#include battro52
#include battro53
#include battro54
#include battro55
#include battro56
#include battro57
#include battro58
#include battro59
#include battro60
#include battro61
#include battro62
#include battro63
#include battro64
#include brataumo
#include brktaumo
/*
#include blinrtur
#include cacoon
#include cacovile
//#include chaingun
#include cultasri
#include cultshtg
#include cultsuic
#include culttorc
#include cybopfho
*/
/*
#include deadcpos
#include deadposs
#include deadspos
#include deadsswv
*/
/*
#include deafctur
#include decebt
#include decehbnb
#include decehng
#include decehtld
#include decehtlu
#include decehtnb
#include decehts
#include deceit
#include decem2
#include decem3
#include decem4
#include decem5
#include decenm2
#include decenm3
#include decenm4
#include decenm5
#include decent
#include dimobeta
#include firatluc
#include ghoul
*/
//#include gnugtohs
/*
#include gthstluc
#include hostage
#include hunter
#include joshua
#include juggerna
#include looker
#include luohg
#include m1a1add
*/
#include m1a1ad_
#include m1a1a01
#include m1a1a02
#include m1a1a03
#include m1a1a04
#include m1a1a05
#include m1a1a06
#include m1a1a07
#include m1a1a08
#include m1a1a09
#include m1a1a10
#include m1a1a11
#include m1a1a12
#include m1a1a13
#include m1a1a14
#include m1a1a15
#include m1a1a16
#include m1a1a17
#include m1a1a18
#include m1a1a19
#include m1a1a20
#include m1a1a21
#include m1a1a22
#include m1a1a23
#include m1a1a24
#include m1a1a25
#include m1a1a26
#include m1a1a27
#include m1a1a28
#include m1a1a29
#include m1a1a30
#include m1a1a31
#include m1a1a32
#include m1a1a33
#include m1a1a34
#include m1a1a35
#include m1a1a36
#include m1a1a37
#include m1a1a38
#include m1a1a39
#include m1a1a40
#include m1a1a41
#include m1a1a42
#include m1a1a43
#include m1a1a44
#include m1a1a45
#include m1a1a46
#include m1a1a47
#include m1a1a48
#include m1a1a49
#include m1a1a50
#include m1a1a51
#include m1a1a52
#include m1a1a53
#include m1a1a54
#include m1a1a55
#include m1a1a56
#include m1a1a57
#include m1a1a58
#include m1a1a59
#include m1a1a60
#include m1a1a61
#include m1a1a62
#include m1a1a63
#include m1a1a64
/*
#include metavile
#include micheal
#include mjolnir
*/
#include mjataumo
#include mjktaumo
#include mjolnir_
#include mjolni01
#include mjolni02
#include mjolni03
#include mjolni04
#include mjolni05
#include mjolni06
#include mjolni07
#include mjolni08
#include mjolni09
#include mjolni10
#include mjolni11
#include mjolni12
#include mjolni13
#include mjolni14
#include mjolni15
#include mjolni16
#include mjolni17
#include mjolni18
#include mjolni19
#include mjolni20
#include mjolni21
#include mjolni22
#include mjolni23
#include mjolni24
#include mjolni25
#include mjolni26
#include mjolni27
#include mjolni28
#include mjolni29
#include mjolni30
#include mjolni31
#include mjolni32
#include mjolni33
#include mjolni34
#include mjolni35
#include mjolni36
#include mjolni37
#include mjolni38
#include mjolni39
#include mjolni40
#include mjolni41
#include mjolni42
#include mjolni43
#include mjolni44
#include mjolni45
#include mjolni46
#include mjolni47
#include mjolni48
#include mjolni49
#include mjolni50
#include mjolni51
#include mjolni52
#include mjolni53
#include mjolni54
#include mjolni55
#include mjolni56
#include mjolni57
#include mjolni58
#include mjolni59
#include mjolni60
#include mjolni61
#include mjolni62
#include mjolni63
#include mjolni64
//#include noocac
//#include nugniahc
/*
#include ooze0
#include ooze1
#include raptor
#include roach
#include robowalk
#include rotpar
#include rutcfaed
#include rutrnilb
//#include shotgung
#include spiddron
#include spidtank
#include sroach
#include stramar0
#include stramar1
#include tospvile
#include toxspeye
//#include tsneflow
#include turtle
#include wasp
*/
/*
#include wolfenst
#include zombiema
*/
// To address stealth monster lumps before normal monster lumps
/*
#include amjolnig
#include cassdrod
#include dassdrod
*/
/*
#include dcassdro
#include ddassdro
#include dmmjolni
#include doassdro
#include dsassdro
#include dzassdro
*/
/*
#include crottluc
#include eltrut
*/
/*
#include gamjolni
#include gmmjolni
*/
/*
#include hcaor
#include knatdips
#include mmjolnid
#include mmjolnig
#include norddips
#include oassdrod
#include sassdrod
#include zassdrod
*/
/*
Gear Scripts
*/
/*
#include adr_rwki
#include adrblarm
#include adrdrop
#include adrgrarm
#include adrhealt
#include adrheal0
#include adrheal1
#include adrheal2
*/
#include albaroki
#include almaddki
#include almjolki
#include alteraki
/*
#include cumegaki
#include cusoulki
#include glueitem
#include haid151
#include haid551
#include healooze
#include hostgift
#include joshgift
#include loid151
#include loid551
#include michgift
#include mjocell0
#include mjocell1
#include mjocell2
#include mjocharg
#include mjoclip0
#include mjoclip1
#include mjoclip2
*/
#include mjoldrop
/*
#include mjolesho
#include mjolmaki
#include mjorokr
#include mjorokr0
#include mjorokr1
#include mjorokr2
#include mjoround
#include mjoshel0
#include mjoshel1
#include mjoshel2
*/
#include mmedikit
#include phkhealt
/*
#include raisooze
#include rowadrop
#include spwabeac
#include stmage0
#include stmage1
*/
/*
Projectile Scripts
*/
/*
#include acidvapo
#include asdrproj
#include barf
#include blinrock
#include burntorc
#include cflame
#include cflame0
#include dumbgren
#include eggcrack
#include joshball
#include jug_roc0
#include jug_roc1
*/
#include maddpart
#include mjolpart
/*
#include oozebal0
#include oozebal1
#include phlegm
#include plazma0
#include plazma1
#include plazma2
#include plazma3
#include pureene0
#include pureene1
#include rowarok
#include rowatrok
#include rubble
#include seekgren
*/
/*
Curses Scripts
*/
/*
#include adrhgive
#include adrh_pow
*/
#include allteral
/*
#include auinvusp
#include barrslud
#include blaccolu
#include cflame1
#include cflame2
#include cflame3
#include cflame4
#include cflame5
#include cflame6
#include cflame7
#include cflame8
#include cflame9
#include cflame10
#include cflame11
#include cflame12
#include cflame13
#include cflame14
#include cflame15
#include cflame16
#include cflame17
#include cflame18
#include cflame19
#include cflame20
#include cflame21
#include cflame22
#include cflame23
#include cflame24
#include cflame25
#include cflame26
#include cflame27
#include cflame28
#include cflame29
#include cflame30
#include cflame31
#include cflame32
#include cflame33
#include cflame34
#include cflame35
#include cflame36
#include cflame37
#include cflara0
#include cflara1
#include cflara2
#include cflara3
#include cflara4
#include cflara5
#include cflara6
#include cflara7
#include cflara8
#include cflara9
#include cflara10
#include cflara11
#include cflara12
#include cflara13
#include cflara14
#include cflara15
#include cflara16
#include cflara17
#include cflara18
#include cflara19
#include cflara20
#include cflara21
#include cflara22
#include cflara23
#include cflara24
#include cflara25
#include cflara26
#include cflara27
#include cflara28
#include cflara29
#include cflara30
#include cflara31
#include cflara32
#include cflara33
#include cflara34
#include cflara35
#include cflara36
#include cloobarr
*/
#include cuduraor
/*
#include cuflsmra
*/
#include cuflsmok
/*
#include dai_puff
#include dmbefume
#include femastat
#include fltosmok
#include glueslim
#include infectio
#include malestat
#include no_puff
#include oozebarr
#include pebbpuf0
#include pebbpuf1
#include pebbpuf2
#include pureradi
#include raptsmog
*/
#include red_puff
/*
#include redrpuff
#include rubbpuff
#include slfupuff
#include sludfume
#include tosppuff
#include toxispik
#include whitcolu
*/
/*
Gore Scripts
*/
#include cac_blo0
#include cac_blo1
/*
#include col_bit0
#include col_bit1
#include col_bit2
#include cpf_blo0
#include cpf_blo1
#include dai_bit
#include dai_blo0
#include dai_blo1
#include hun_bit
#include jug_bit
*/
#include mar_bit
/*
#include red_bit
#include roa_blo0
#include roa_blo1
#include rowa_bit
#include spa_blo0
#include spa_blo1
#include speyblsp
*/
/*
Prop Scripts
*/
/*
#include acticrys
#include blaccand
#include curlcand
#include fattree
#include floatorc
#include greycand
#include junkpill
#include lamppill
#include litpyre
#include mystskul
#include ravepill
#include shblcand
#include shgrcand
#include shwhcand
#include ulitpyre
#include thintree
#include tubepill
#include whitcand
*/
/*
Dialogue Scripts
*/
/*
#include dialog01
#include dialog02
#include dialog03
#include dialog04
#include dialog05
#include dialog06
#include dialog07
#include dialog08
#include dialog09
#include dialog10
#include dialog11
#include dialog12
#include dialog13
#include dialog14
#include dialog15
#include dialog16
#include dialog17
#include dialog18
#include dialog19
#include dialog20
#include dialog21
#include dialog22
#include dialog23
#include dialog24
#include dialog25
#include dialog26
#include dialog27
#include dialog28
#include dialog29
#include dialog30
#include dialog31
#include dialog32
*//*
Requirement:
-http://zdoom.org/wiki/CCMDs
-http://zdoom.org/wiki/CCMDs:Customization
These console commands can be used to customize the configuration of the game.
*/
addkeysection "Custom Marathon Ally UESC Items ACS Enter Script ITEMS Inputs" "Custom Marathon Ally UESC Items ACS Enter Script ITEMS Inputs"
addmenukey "USE ITEM \"Ally Teleport Rally Kit\"" "use Ally_Teleport_Rally_Kit"
defaultbind Space "use Ally_Teleport_Rally_Kit"
// Some commands can't be on other commands
//bind Space "use Ally_Teleport_Rally_Kit"gameinfo
{
titlepage = "durandal"
creditpage = "durandal" //"pfhor_in","tychoplo","CREDIT"
//titlemusic = "bz_jfo8" //"$MUSIC_DM2TTL"
titletime = 11
advisorytime = 0
pagetime = 5
drawreadthis = true
chatsound = "misc/chat"
//finalemusic = "bz_jfo8" //"$MUSIC_READ_M"
finaleflat = "SLIME16"
finalepage = "durandal" //"CREDIT"
infopage = "HELP","CREDIT" //"tycho_lo","pfhor_in","tychoplo"
quitsound = "menu/quit2"
//borderflat = "GRNROCK"
//border = DoomBorder
telefogheight = 0
defkickback = 100
skyflatname = "F_SKY1"
translator = "xlat/doom.txt"
mapinfo = "mapinfo/doom2.txt"
defaultbloodcolor = "68 00 00"
defaultbloodparticlecolor = "ff 00 00"
backpacktype = "Backpack"
armoricons = "ARM1A0", 0.5, "ARM2A0"
statusbar = "sbarinfo/doom.txt"
//intermissionmusic = "bz_jfo8" //"$MUSIC_DM2INT"
intermissioncounter = true
weaponslot = 1, "Fist", "Chainsaw"
weaponslot = 2, "Pistol"
weaponslot = 3, "Shotgun", "SuperShotgun"
weaponslot = 4, "Chaingun"
weaponslot = 5, "RocketLauncher"
weaponslot = 6, "PlasmaRifle"
weaponslot = 7, "BFG9000"
dimcolor = "ff d7 00"
dimamount = 0.2
definventorymaxamount = 25
defaultrespawntime = 12
defaultdropstyle = 1
endoom = "ENDOOM"
player5start = 4001
pickupcolor = "d6 ba 45"
quitmessages = "$QUITMSG", "$QUITMSG1", "$QUITMSG2", "$QUITMSG3", "$QUITMSG4", "$QUITMSG5", "$QUITMSG6", "$QUITMSG7",
"$QUITMSG8", "$QUITMSG9", "$QUITMSG10", "$QUITMSG11", "$QUITMSG12", "$QUITMSG13", "$QUITMSG14"
menufontcolor_title = "RED"
menufontcolor_label = "UNTRANSLATED"
menufontcolor_value = "GRAY"
menufontcolor_action = "GRAY"
menufontcolor_header = "GOLD"
menufontcolor_highlight = "YELLOW"
menufontcolor_selection = "BRICK"
menubackbutton = "M_BACK_D"
//playerclasses = "DoomPlayer"
pausesign = "M_PAUSE"
gibfactor = 1
cursorpic = "skulpoin" //cursor from Death Illustrated game! //"doomcurs"
textscreenx = 10
textscreeny = 10
//defaultendsequence = "Inter_Ally_USEC_Items_ACS_Enter_Script_Cast" //"Inter_Cast"
maparrow = "maparrows/arrow.txt","maparrows/ddtarrow.txt"
statscreen_mapnamefont = "BigFont"
statscreen_finishedpatch = "WIF"
statscreen_enteringpatch = "WIENTER"
}/*
Requirment:
-http://zdoom.org/wiki/Predefined_sounds
Predefined_sounds(of player/monster)/Blah_action DS(Name[you can remove the parentheses])
*/
/*
Acid Vapor
*/
$random acid_vapor/see { red_gore/rail_hitting_flesh }
/*
Assault Drone
*/
$random assault_drone/attack { blind_rocket_turret/rocket }
$random assault_drone/crush { marathon_gore/bullet_hitting_plate }
$random assault_drone/crunched { spider_tank/death_electric }
/*
Auto Rifle Unit
*/
$random auto_rifle_unit/ambient { auto_rifle_unit/ambient1 auto_rifle_unit/ambient2 auto_rifle_unit/ambient3 auto_rifle_unit/ambient4 auto_rifle_unit/ambient5 }
$random auto_rifle_unit/sight { auto_rifle_unit/sight1 auto_rifle_unit/sight2 auto_rifle_unit/sight3 auto_rifle_unit/sight4 auto_rifle_unit/sight5 }
$random auto_rifle_unit/active { auto_rifle_unit/ambient }
$random auto_rifle_unit/ktaunt { auto_rifle_unit/ktaunt1 auto_rifle_unit/ktaunt2 auto_rifle_unit/ktaunt3 auto_rifle_unit/ktaunt4 auto_rifle_unit/ktaunt5 }
$random auto_rifle_unit/mondragon_fire { auto_rifle_unit/mondragon_fire1 }
$random auto_rifle_unit/mondragon_reload { auto_rifle_unit/mondragon_reload1 }
$random auto_rifle_unit/pain { auto_rifle_unit/pain1 auto_rifle_unit/pain2 auto_rifle_unit/pain3 auto_rifle_unit/pain4 auto_rifle_unit/pain5 }
$random auto_rifle_unit/death { auto_rifle_unit/death1 }
$random auto_rifle_unit/crush { auto_rifle_unit/pain1 auto_rifle_unit/pain4 auto_rifle_unit/pain5 }
$random auto_rifle_unit/crunched { magical_piranha/crash }
auto_rifle_unit/ambient1 auriamb0
auto_rifle_unit/ambient2 auriamb1
auto_rifle_unit/ambient3 auriamb2
auto_rifle_unit/ambient4 auriamb3
auto_rifle_unit/ambient5 auriamb4
auto_rifle_unit/sight1 aurisee0
auto_rifle_unit/sight2 aurisee1
auto_rifle_unit/sight3 aurisee2
auto_rifle_unit/sight4 aurisee3
auto_rifle_unit/sight5 aurisee4
auto_rifle_unit/ktaunt1 auritau0
auto_rifle_unit/ktaunt2 auritau1
auto_rifle_unit/ktaunt3 auritau2
auto_rifle_unit/ktaunt4 auritau3
auto_rifle_unit/ktaunt5 auritau4
auto_rifle_unit/mondragon_fire1 auririff
auto_rifle_unit/mondragon_reload1 auririfr
auto_rifle_unit/pain1 auripai0
auto_rifle_unit/pain2 auripai1
auto_rifle_unit/pain3 auripai2
auto_rifle_unit/pain4 auripai3
auto_rifle_unit/pain5 auripai4
auto_rifle_unit/death1 aurideat
/*
Barf
*/
$random barf/death { barf/death1 }
barf/death1 barfdeat
/*
Battleroid
*/
$random battleroid/ambient { auto_rifle_unit/ambient }
$random battleroid/sight { auto_rifle_unit/sight }
$random battleroid/active { auto_rifle_unit/ambient }
$random battleroid/ataunt { auto_rifle_unit/sight }
$random battleroid/ktaunt { auto_rifle_unit/ktaunt }
$random battleroid/ma-75u_fire { pfhor_trooper/ma-75p_fire1 }
$random battleroid/ma-75u_reload { pfhor_trooper/ma-75p_reload1 }
$random battleroid/pain { auto_rifle_unit/pain }
$random battleroid/death { auto_rifle_unit/pain auto_rifle_unit/death }
$random battleroid/crush { auto_rifle_unit/pain }
$random battleroid/crunched { barf/death }
/*
Blind Rocket
*/
$random blind_rocket/sight { blind_rocket/sight1 }
$random blind_rocket/death { blind_rocket/death1 }
blind_rocket/sight1 blrosee
blind_rocket/death1 blrodeat
/*
Blind Rocket Turret
*/
$random blind_rocket_turret/ambient { blind_rocket_turret/ambient1 }
$random blind_rocket_turret/sight { blind_rocket_turret/ambient }
$random blind_rocket_turret/active { blind_rocket_turret/ambient }
$random blind_rocket_turret/rocket { blind_rocket_turret/rocket1 }
$random blind_rocket_turret/death { blind_rocket_turret/death1 }
$random blind_rocket_turret/crush { marathon_gore/bullet_hitting_plate }
$random blind_rocket_turret/crunched { blind_rocket_turret/death }
blind_rocket_turret/ambient1 brtusee
blind_rocket_turret/rocket1 brturock
blind_rocket_turret/death1 brtudeat
/*
BoomBox Music
*/
$random boombox/silence { boombox/silence1 }
boombox/silence1 nomusic
/*
Cacoon Vile
*/
$random cacoon_vile/attack { cacoon_vile/attack1 }
cacoon_vile/attack1 rumble
/*
Cultist
*/
$random damage_incorporated_cultist/ambient { damage_incorporated_cultist/ambient2 damage_incorporated_cultist/ambient4 damage_incorporated_cultist/ambient11 damage_incorporated_cultist/ambient20 damage_incorporated_cultist/ambient21 damage_incorporated_cultist/ambient24 damage_incorporated_cultist/ambient25 damage_incorporated_cultist/ambient26 damage_incorporated_cultist/ambient29 damage_incorporated_cultist/ambient31 damage_incorporated_cultist/ambient36 damage_incorporated_cultist/ambient37 damage_incorporated_cultist/ambient40 damage_incorporated_cultist/ambient47 damage_incorporated_cultist/ambient48 damage_incorporated_cultist/ambient49 damage_incorporated_cultist/ambient51 damage_incorporated_cultist/ambient55 damage_incorporated_cultist/ambient56 damage_incorporated_cultist/ambient58 damage_incorporated_cultist/ambient59 damage_incorporated_cultist/ambient60 damage_incorporated_cultist/ambient61 damage_incorporated_cultist/ambient66 damage_incorporated_cultist/ambient73 damage_incorporated_cultist/ambient74 damage_incorporated_cultist/ambient88 damage_incorporated_cultist/ambient89 }
$random damage_incorporated_cultist/sight { damage_incorporated_cultist/sight1 damage_incorporated_cultist/sight2 damage_incorporated_cultist/sight3 damage_incorporated_cultist/sight4 damage_incorporated_cultist/sight5 damage_incorporated_cultist/sight7 damage_incorporated_cultist/sight8 damage_incorporated_cultist/sight10 damage_incorporated_cultist/sight11 damage_incorporated_cultist/sight12 damage_incorporated_cultist/sight13 damage_incorporated_cultist/sight14 damage_incorporated_cultist/sight16 damage_incorporated_cultist/sight17 damage_incorporated_cultist/sight18 damage_incorporated_cultist/sight19 damage_incorporated_cultist/sight20 damage_incorporated_cultist/sight23 damage_incorporated_cultist/sight24 damage_incorporated_cultist/sight26 damage_incorporated_cultist/sight27 damage_incorporated_cultist/sight28 damage_incorporated_cultist/sight29 damage_incorporated_cultist/sight34 damage_incorporated_cultist/sight36 damage_incorporated_cultist/sight37 damage_incorporated_cultist/sight38 }
$random damage_incorporated_cultist/active { damage_incorporated_cultist/sight damage_incorporated_cultist/active1 damage_incorporated_cultist/active2 damage_incorporated_cultist/active3 damage_incorporated_cultist/active9 damage_incorporated_cultist/active10 damage_incorporated_cultist/active11 damage_incorporated_cultist/active12 damage_incorporated_cultist/active13 damage_incorporated_cultist/active15 damage_incorporated_cultist/active17 damage_incorporated_cultist/active18 damage_incorporated_cultist/active21 damage_incorporated_cultist/active22 damage_incorporated_cultist/active23 damage_incorporated_cultist/active25 damage_incorporated_cultist/active26 damage_incorporated_cultist/active28 damage_incorporated_cultist/active29 damage_incorporated_cultist/active30 damage_incorporated_cultist/active31 damage_incorporated_cultist/active32 damage_incorporated_cultist/active33 damage_incorporated_cultist/active34 damage_incorporated_cultist/active35 damage_incorporated_cultist/active38 damage_incorporated_cultist/active39 damage_incorporated_cultist/active41 damage_incorporated_cultist/active42 damage_incorporated_cultist/active43 damage_incorporated_cultist/active44 }
$random damage_incorporated_cultist/assault_rifle_fire { damage_incorporated_cultist/assault_rifle_fire1 }
$random damage_incorporated_cultist/assault_rifle_reload { damage_incorporated_cultist/assault_rifle_reload1 }
$random damage_incorporated_cultist/shotgun_fire { damage_incorporated_cultist/shotgun_fire1 }
$random damage_incorporated_cultist/shotgun_reload { damage_incorporated_cultist/shotgun_reload1 }
$random damage_incorporated_cultist/torch { damage_incorporated_cultist/torch1 }
$random damage_incorporated_cultist/pain { damage_incorporated_cultist/pain1 damage_incorporated_cultist/pain2 }
$random damage_incorporated_cultist/death { damage_incorporated_cultist/death1 damage_incorporated_cultist/death2 damage_incorporated_cultist/death3 damage_incorporated_cultist/death4 }
$random damage_incorporated_cultist/xdeath { damage_incorporated_cultist/xdeath1 damage_incorporated_cultist/xdeath2 damage_incorporated_cultist/xdeath3 }
$random damage_incorporated_cultist/crush { damage_incorporated_cultist/pain }
$random damage_incorporated_cultist/crunched { barf/death }
// wavpack1 ambient
damage_incorporated_cultist/ambient1 book_dea
damage_incorporated_cultist/ambient2 thrill
damage_incorporated_cultist/ambient3 zombi_au
// wavpack2 ambient
damage_incorporated_cultist/ambient4 aint_it
damage_incorporated_cultist/ambient5 alive!
damage_incorporated_cultist/ambient6 almost_d
damage_incorporated_cultist/ambient7 alright1
damage_incorporated_cultist/ambient8 alright2
damage_incorporated_cultist/ambient9 alright3
damage_incorporated_cultist/ambient10 alright4
damage_incorporated_cultist/ambient11 away
damage_incorporated_cultist/ambient12 baloney
damage_incorporated_cultist/ambient13 blow_dro
damage_incorporated_cultist/ambient14 brain_da
damage_incorporated_cultist/ambient15 build_co
damage_incorporated_cultist/ambient16 command2
damage_incorporated_cultist/ambient17 computer
damage_incorporated_cultist/ambient18 dark_pow
damage_incorporated_cultist/ambient19 disengag
damage_incorporated_cultist/ambient20 dont_lik
damage_incorporated_cultist/ambient21 dontfuck
damage_incorporated_cultist/ambient22 downlow
damage_incorporated_cultist/ambient23 ever_see
damage_incorporated_cultist/ambient24 farenuff
damage_incorporated_cultist/ambient25 full_cra
damage_incorporated_cultist/ambient26 fullofit
damage_incorporated_cultist/ambient27 garbage
damage_incorporated_cultist/ambient28 helpyou
damage_incorporated_cultist/ambient29 hey_sold
damage_incorporated_cultist/ambient30 messed_u
damage_incorporated_cultist/ambient31 milland
damage_incorporated_cultist/ambient32 outta_si
damage_incorporated_cultist/ambient33 owwww!
damage_incorporated_cultist/ambient34 pardon
damage_incorporated_cultist/ambient35 petey_gr
damage_incorporated_cultist/ambient36 preposte
damage_incorporated_cultist/ambient37 soylent_
// wavpack3 ambient
damage_incorporated_cultist/ambient38 give_a_f
damage_incorporated_cultist/ambient39 good_gra
damage_incorporated_cultist/ambient40 gotta_te
damage_incorporated_cultist/ambient41 hell_shi
damage_incorporated_cultist/ambient42 holy_shi
damage_incorporated_cultist/ambient43 hopeless
damage_incorporated_cultist/ambient44 human_be
damage_incorporated_cultist/ambient45 indeedx2
damage_incorporated_cultist/ambient46 judge_sh
damage_incorporated_cultist/ambient47 kick_ass
damage_incorporated_cultist/ambient48 kidding
damage_incorporated_cultist/ambient49 kill!_ki
damage_incorporated_cultist/ambient50 let_me
damage_incorporated_cultist/ambient51 life
damage_incorporated_cultist/ambient52 locusts
damage_incorporated_cultist/ambient53 lsd
damage_incorporated_cultist/ambient54 maniacs
damage_incorporated_cultist/ambient55 masque
damage_incorporated_cultist/ambient56 master
damage_incorporated_cultist/ambient57 mind_slo
damage_incorporated_cultist/ambient58 mistake
damage_incorporated_cultist/ambient59 my_mind
damage_incorporated_cultist/ambient60 no_cause
damage_incorporated_cultist/ambient61 not_a_ch
damage_incorporated_cultist/ambient62 not_know
damage_incorporated_cultist/ambient63 not_true
damage_incorporated_cultist/ambient64 rephrase
damage_incorporated_cultist/ambient65 rubbish!
damage_incorporated_cultist/ambient66 shit!x2
damage_incorporated_cultist/ambient67 stinkin_
damage_incorporated_cultist/ambient68 switch_o
damage_incorporated_cultist/ambient69 tell_me
damage_incorporated_cultist/ambient70 that_doe
damage_incorporated_cultist/ambient71 tried_do
damage_incorporated_cultist/ambient72 turkey
damage_incorporated_cultist/ambient73 underwr_
damage_incorporated_cultist/ambient74 whompin
// wavpack4 ambient
damage_incorporated_cultist/ambient75 anita
damage_incorporated_cultist/ambient76 black_ro
damage_incorporated_cultist/ambient77 capt_kro
damage_incorporated_cultist/ambient78 casino_r
damage_incorporated_cultist/ambient79 daf_phon
damage_incorporated_cultist/ambient80 gargantu
damage_incorporated_cultist/ambient81 genetic_
damage_incorporated_cultist/ambient82 inga
damage_incorporated_cultist/ambient83 mere_sku
damage_incorporated_cultist/ambient84 perversi
damage_incorporated_cultist/ambient85 pyjama_g
damage_incorporated_cultist/ambient86 qos
damage_incorporated_cultist/ambient87 she-cat_
damage_incorporated_cultist/ambient88 shocking
damage_incorporated_cultist/ambient89 ultimate
// wavpack1 sight
damage_incorporated_cultist/sight1 not_insa
// wavpack2 sight
damage_incorporated_cultist/sight2 about_ti
damage_incorporated_cultist/sight3 asshole
damage_incorporated_cultist/sight4 billyboy
damage_incorporated_cultist/sight5 blasphem
damage_incorporated_cultist/sight6 bullshit
damage_incorporated_cultist/sight7 dare_you
damage_incorporated_cultist/sight8 destroye
damage_incorporated_cultist/sight9 distaste
damage_incorporated_cultist/sight10 dont_lik
damage_incorporated_cultist/sight11 dontfuck
damage_incorporated_cultist/sight12 douche-b
damage_incorporated_cultist/sight13 ever_see
damage_incorporated_cultist/sight14 fuck_pun
damage_incorporated_cultist/sight15 gd_thing
damage_incorporated_cultist/sight16 milland
damage_incorporated_cultist/sight17 now
damage_incorporated_cultist/sight18 oracle_p
damage_incorporated_cultist/sight19 pray_for
damage_incorporated_cultist/sight20 prep_die
damage_incorporated_cultist/sight21 preposte
// wavpack3 sight
damage_incorporated_cultist/sight22 ironic
damage_incorporated_cultist/sight23 jive-ass
damage_incorporated_cultist/sight24 kick_you
damage_incorporated_cultist/sight25 last_war
damage_incorporated_cultist/sight26 mad_as_h
damage_incorporated_cultist/sight27 never_kn
damage_incorporated_cultist/sight28 not_a_ch
damage_incorporated_cultist/sight29 point_gu
damage_incorporated_cultist/sight30 satisfie
damage_incorporated_cultist/sight31 stpdmnd1
damage_incorporated_cultist/sight32 stpdmnd2
damage_incorporated_cultist/sight33 sucker
damage_incorporated_cultist/sight34 time_4_b
damage_incorporated_cultist/sight35 torture!
damage_incorporated_cultist/sight36 wide_wid
damage_incorporated_cultist/sight37 your_des
// wavpack4 sight
damage_incorporated_cultist/sight38 dead_hum
// wavpack1 active
damage_incorporated_cultist/active1 not_insa
damage_incorporated_cultist/active2 thrill
// wavpack2 active
damage_incorporated_cultist/active3 aint_it
damage_incorporated_cultist/active4 almost_d
damage_incorporated_cultist/active5 alright1
damage_incorporated_cultist/active6 alright2
damage_incorporated_cultist/active7 alright3
damage_incorporated_cultist/active8 alright4
damage_incorporated_cultist/active9 asshole
damage_incorporated_cultist/active10 away
damage_incorporated_cultist/active11 be_still
damage_incorporated_cultist/active12 billyboy
damage_incorporated_cultist/active13 blasphem
damage_incorporated_cultist/active14 clumsy!
damage_incorporated_cultist/active15 dontfuck
damage_incorporated_cultist/active16 downlow
damage_incorporated_cultist/active17 farenuff
damage_incorporated_cultist/active18 go_on!
damage_incorporated_cultist/active19 helpyou
damage_incorporated_cultist/active20 hey_sold
damage_incorporated_cultist/active21 milland
damage_incorporated_cultist/active22 on_knees
damage_incorporated_cultist/active23 oracle_p
damage_incorporated_cultist/active24 petey_gr
damage_incorporated_cultist/active25 pray_for
damage_incorporated_cultist/active26 prep_die
// wavpack3 active
damage_incorporated_cultist/active27 human_be
damage_incorporated_cultist/active28 kill_nob
damage_incorporated_cultist/active29 mad_as_h
damage_incorporated_cultist/active30 never_kn
damage_incorporated_cultist/active31 next_tim
damage_incorporated_cultist/active32 no_good
damage_incorporated_cultist/active33 no_need
damage_incorporated_cultist/active34 no_shit
damage_incorporated_cultist/active35 not_a_ch
damage_incorporated_cultist/active36 satisfie
damage_incorporated_cultist/active37 schmuck
damage_incorporated_cultist/active38 smart_mf
damage_incorporated_cultist/active39 time_4_b
damage_incorporated_cultist/active40 torture!
damage_incorporated_cultist/active41 torturin
damage_incorporated_cultist/active42 your_des
// wavpack4 active
damage_incorporated_cultist/active43 dead_hum
damage_incorporated_cultist/active44 make_me_
// damage incorporated
damage_incorporated_cultist/assault_rifle_fire1 cultarif
damage_incorporated_cultist/assault_rifle_reload1 cultarif
damage_incorporated_cultist/shotgun_fire1 cultshtf
damage_incorporated_cultist/shotgun_reload1 cultshtr
damage_incorporated_cultist/torch1 cultflam
damage_incorporated_cultist/pain1 cultpai0
damage_incorporated_cultist/pain2 cultpai1
damage_incorporated_cultist/death1 cultdea0
damage_incorporated_cultist/death2 cultdea1
damage_incorporated_cultist/death3 cultdea2
damage_incorporated_cultist/death4 cultdea3
damage_incorporated_cultist/xdeath1 cultxde0
damage_incorporated_cultist/xdeath2 cultxde1
damage_incorporated_cultist/xdeath3 cultxde2
/*
Cultist Flame
*/
$random cultist_flame/start { cultist_flame/start1 cultist_flame/start2 }
$random cultist_flame/crackle { cultist_flame/crackle1 cultist_flame/crackle2 }
cultist_flame/start1 firimp1
cultist_flame/start2 firimp2
cultist_flame/crackle1 flamwave
cultist_flame/crackle2 spoutstr
/*
Cyborg Pfhor
*/
$random cyborg_pfhor/ambient { blind_rocket_turret/ambient }
$random cyborg_pfhor/sight { spider_tank/active }
$random cyborg_pfhor/active { spider_tank/active }
$random cyborg_pfhor/boil { turtle/boil }
$random cyborg_pfhor/death { spider_tank/death_explode }
$random cyborg_pfhor/crush { marathon_gore/bullet_hitting_plate }
$random cyborg_pfhor/crunched { cyborg_pfhor/death }
/*
Deaf Chaingun Turret
*/
$random deaf_chaingun_turret/ambient { deaf_chaingun_turret/ambient1 }
$random deaf_chaingun_turret/sight { deaf_chaingun_turret/ambient }
$random deaf_chaingun_turret/load { deaf_chaingun_turret/load1 }
$random deaf_chaingun_turret/tote { deaf_chaingun_turret/tote1 }
$random deaf_chaingun_turret/death { seeker_grenade/death }
$random deaf_chaingun_turret/crush { marathon_gore/bullet_hitting_plate }
$random deaf_chaingun_turret/crunched { spider_tank/death_electric }
deaf_chaingun_turret/ambient1 dctusee
deaf_chaingun_turret/load1 dctuload
deaf_chaingun_turret/tote1 dctutote
/*
Deceit
*/
$random deceit/ambient { deceit/ambient1 deceit/ambient2 }
$random deceit/sight { deceit/ambient }
$random deceit/active { deceit/ambient deceit/active1 deceit/active2 }
$random deceit/hit { boombox/silence }
$random deceit/miss { boombox/silence }
$random deceit/death { deceit/death1 deceit/death2 deceit/death3 deceit/death4 deceit/death5 deceit/death6 }
$random deceit/crush { deceit/active1 deceit/active2 }
$random deceit/crunched { deceit/death }
deceit/ambient1 deceamb0
deceit/ambient2 deceamb1
deceit/active1 deceact0
deceit/active2 deceact1
deceit/death1 decedea0
deceit/death2 decedea1
deceit/death3 decedea2
deceit/death4 decedea3
deceit/death5 decedea4
deceit/death6 decedea5
/*
Dimorph Beta
*/
$random dimorph_beta/ambient { dimorph_beta/ambient1 dimorph_beta/ambient2 }
$random dimorph_beta/sight { dimorph_beta/ambient }
$random dimorph_beta/active { dimorph_beta/ambient }
$random dimorph_beta/attack { dimorph_beta/attack1 }
$random dimorph_beta/death { dimorph_beta/death1 }
$random dimorph_beta/crush { dimorph_beta/attack }
$random dimorph_beta/crunched { barf/death }
dimorph_beta/ambient1 dmbeamb0
dimorph_beta/ambient2 dmbeamb1
dimorph_beta/attack1 dmbeatta
dimorph_beta/death1 dmbedeat
/*
Ghoul
*/
$random ghoul/attack { ghoul/attack1 }
$random ghoul/pain { ghoul/pain1 }
$random ghoul/death { ghoul/death1 }
$random ghoul/crush { ghoul/pain }
$random ghoul/crunched { barf/death }
ghoul/attack1 ghoulatt
ghoul/pain1 ghoulpai
ghoul/death1 ghouldea
/*
Glue Slime
*/
$random glue_slime/pop { glue_slime/pop1 }
glue_slime/pop1 gluepop
/*
Gore
*/
$random damage_incorporated_gore/bullet_hitting_flesh { damage_incorporated_gore/bullet_hitting_flesh1 damage_incorporated_gore/bullet_hitting_flesh2 damage_incorporated_gore/bullet_hitting_flesh3 }
$random damage_incorporated_gore/bullet_missing_flesh { damage_incorporated_gore/bullet_missing_flesh1 damage_incorporated_gore/bullet_missing_flesh2 }
$random damage_incorporated_gore/floor_slop { barf/death }
$random marathon_gore/bullet_hitting_flesh { marathon_gore/bullet_hitting_flesh1 marathon_gore/bullet_hitting_flesh2 marathon_gore/bullet_hitting_flesh3 }
$random marathon_gore/bullet_hitting_plate { marathon_gore/bullet_hitting_plate1 marathon_gore/bullet_hitting_plate2 }
$random marathon_gore/floor_slop { barf/death }
$random red_gore/bullet_hitting_flesh { red_gore/bullet_hitting_flesh1 red_gore/bullet_hitting_flesh2 red_gore/bullet_hitting_flesh3 }
$random red_gore/bullet_hitting_plate { red_gore/bullet_hitting_plate1 }
$random red_gore/bullet_missing_flesh { red_gore/bullet_missing_flesh1 }
$random red_gore/rail_hitting_flesh { red_gore/rail_hitting_flesh1 }
$random red_gore/rail_missing_flesh { red_gore/rail_missing_flesh1 }
$random red_gore/floor_slop { barf/death }
damage_incorporated_gore/bullet_hitting_flesh1 daihifl0
damage_incorporated_gore/bullet_hitting_flesh2 daihifl1
damage_incorporated_gore/bullet_hitting_flesh3 daihifl2
damage_incorporated_gore/bullet_missing_flesh1 daimifl0
damage_incorporated_gore/bullet_missing_flesh2 daimifl1
marathon_gore/bullet_hitting_flesh1 marhifl0
marathon_gore/bullet_hitting_flesh2 marhifl1
marathon_gore/bullet_hitting_flesh3 marhifl2
marathon_gore/bullet_hitting_plate1 marhipl0
marathon_gore/bullet_hitting_plate2 marhipl1
red_gore/bullet_hitting_flesh1 redhifl0
red_gore/bullet_hitting_flesh2 redhifl1
red_gore/bullet_hitting_flesh3 redhifl2
red_gore/bullet_hitting_plate1 redhipla
red_gore/bullet_missing_flesh1 redmifl
red_gore/rail_hitting_flesh1 starahif
red_gore/rail_missing_flesh1 staramif
/*
Hostage
*/
$random hostage/ambient { hostage/ambient1 hostage/ambient2 }
$random hostage/sight { hostage/ambient hostage/sight3 hostage/sight4 hostage/sight5 hostage/sight6 hostage/sight7 hostage/sight8 hostage/sight9 }
$random hostage/pain { hostage/sight8 hostage/sight9 hostage/pain1 hostage/pain2 }
$random hostage/death { hostage/death1 hostage/death2 }
$random hostage/xdeath { hostage/xdeath1 }
$random hostage/crush { hostage/pain }
$random hostage/crunched { barf/death }
hostage/ambient1 hostamb0
hostage/ambient2 hostamb1
hostage/sight1 hostsee0
hostage/sight2 hostsee1
hostage/sight3 hostsee2
hostage/sight4 hostsee3
hostage/sight5 hostsee4
hostage/sight6 hostsee5
hostage/sight7 hostsee6
hostage/sight8 hostsee7
hostage/sight9 hostsee8
hostage/pain1 hostpai0
hostage/pain2 hostpai1
hostage/death1 hostdea0
hostage/death2 hostdea1
hostage/xdeath1 hostxdea
/*
Hunter
*/
$random hunter/ambient { hunter/ambient1 }
$random hunter/sight { hunter/sight1 }
$random hunter/active { hunter/ambient hunter/sight }
$random hunter/load { spider_tank/load }
$random hunter/death { hunter/death1 }
$random hunter/xdeath { hunter/xdeath1 }
$random hunter/crush { marathon_gore/bullet_hitting_plate }
$random hunter/crunched { hunter/xdeath }
hunter/ambient1 huntambi
hunter/sight1 huntsee
hunter/death1 huntdeat
hunter/xdeath1 huntxdea
/*
Joshua
*/
$random joshua/ambient { joshua/ambient1 joshua/ambient2 }
$random joshua/sight { joshua/ambient }
$random joshua/active { joshua/sight joshua/active1 }
$random joshua/seal_of_oozes { joshua/seal_of_oozes1 }
$random joshua/death { joshua/death1 }
$random joshua/crush { joshua/active1 }
$random joshua/crunched { joshua/crunched1 }
joshua/ambient1 joshamb0
joshua/ambient2 joshamb1
joshua/active1 joshacti
joshua/seal_of_oozes1 joshseoo
joshua/death1 joshdeat
joshua/crunched1 joshcrun
/*
Joshua Ball
*/
$random joshua_ball/sight { joshua_ball/sight1 }
$random joshua_ball/death { joshua_ball/death1 }
joshua_ball/sight1 jobasee
joshua_ball/death1 jobadeat
/*
Juggernaut
*/
$random juggernaut/ambient { hunter/ambient }
$random juggernaut/sight { hunter/sight1 }
$random juggernaut/active { hunter/ambient juggernaut/sight }
$random juggernaut/load { juggernaut/load1 }
$random juggernaut/rocket { juggernaut/rocket1 }
$random juggernaut/death { juggernaut/death1 }
$random juggernaut/crash { juggernaut/crash1 }
$random juggernaut/crush { marathon_gore/bullet_hitting_plate }
$random juggernaut/crunched { juggernaut/crash }
juggernaut/load1 juggload
juggernaut/rocket1 juggrock
juggernaut/death1 juggwarn
juggernaut/crash1 juggexpl
/*
Juggernaut Rocket
*/
$random juggernaut_rocket/sight { juggernaut_rocket/sight1 }
$random juggernaut_rocket/death { juggernaut_rocket/death1 }
juggernaut_rocket/sight1 juroflyb
juggernaut_rocket/death1 juroexpl
/*
Looker
*/
$random looker/ambient { looker/ambient1 looker/ambient2 looker/ambient3 }
$random looker/sight { looker/ambient }
$random looker/active { looker/ambient }
$random looker/death { looker/death1 }
$random looker/crush { barf/death }
$random looker/crunched { barf/death }
looker/ambient1 lookamb0
looker/ambient2 lookamb1
looker/ambient3 lookamb2
looker/death1 lookdeat
/*
Marathon Automated Defense Drone
*/
$random marathon_automated_defense_drone/ambient { spider_tank/ambient spider_tank/active1 }
$random marathon_automated_defense_drone/sight { deaf_chaingun_turret/ambient }
$random marathon_automated_defense_drone/active { marathon_automated_defense_drone/ambient marathon_automated_defense_drone/sight }
$random marathon_automated_defense_drone/attack { marathon_automated_defense_drone/attack1 }
$random marathon_automated_defense_drone/death { seeker_grenade/death }
$random marathon_automated_defense_drone/crush { marathon_automated_defense_drone/crush1 }
$random marathon_automated_defense_drone/crunched { marathon_automated_defense_drone/death }
marathon_automated_defense_drone/attack1 maddatta
marathon_automated_defense_drone/crush1 maddcrus
/*
Metalloid Vile
*/
$random metalloid_vile/attack { metalloid_vile/attack1 metalloid_vile/attack2 }
metalloid_vile/attack1 itemback
metalloid_vile/attack2 itempick
/*
Micheal
*/
$random micheal/ambient { spider_tank/sight }
$random micheal/sight { micheal/ambient }
$random micheal/active { micheal/ambient joshua/active }
$random micheal/pure_energy { micheal/pure_energy1 }
$random micheal/thunderstorm { joshua_ball/sight }
$random micheal/death { joshua/death }
$random micheal/crush { spider_tank/death_electric }
$random micheal/crunched { micheal/death }
micheal/pure_energy1 michpure
/*
Mjolnir
*/
$random mjolnir/ambient { hostage/ambient hostage/sight1 hostage/sight2 hostage/sight3 hostage/sight4 }
$random mjolnir/sight { hostage/sight1 hostage/sight2 mjolnir/sight1 mjolnir/sight2 }
$random mjolnir/active { mjolnir/ambient mjolnir/sight }
$random mjolnir/ataunt { hostage/sight }
$random mjolnir/ktaunt { hostage/sight }
$random mjolnir/pain { hostage/pain }
$random mjolnir/death { hostage/death }
$random mjolnir/xdeath { hostage/xdeath }
$random mjolnir/crush { hostage/pain }
$random mjolnir/crunched { barf/death }
mjolnir/sight1 mjolsee0
mjolnir/sight2 mjolsee1
/*
Mucus
*/
$random mucus/sight { mucus/sight1 }
mucus/sight1 mucusee
/*
Ooze
*/
$random ooze/chase0_ { ooze/chase0_1 }
$random ooze/chase1_ { ooze/chase1_1 }
$random ooze/attack { ooze/attack1 }
$random ooze/pain { ooze/pain1 }
$random ooze/death { ooze/death1 }
$random ooze/crush { ooze/pain }
$random ooze/crunched { barf/death }
ooze/chase0_1 oozecha0
ooze/chase1_1 oozecha1
ooze/attack1 ooze_att
ooze/pain1 ooze_pai
ooze/death1 ooze_dea
/*
Ooze Ball
*/
$random ooze_ball/death { ooze_ball/death1 }
ooze_ball/death1 oobadeat
/*
Ooze Barrel
*/
$random ooze_barrel/crush { marathon_gore/bullet_hitting_plate }
/*
Pfhor Trooper
*/
$random pfhor_trooper/ambient { pfhor_trooper/ambient1 pfhor_trooper/ambient2 }
$random pfhor_trooper/sight { pfhor_trooper/sight1 pfhor_trooper/sight2 }
$random pfhor_trooper/active { pfhor_trooper/ambient pfhor_trooper/sight }
$random pfhor_trooper/ktaunt { pfhor_trooper/sight }
$Random pfhor_trooper/ma-75p_fire { pfhor_trooper/ma-75p_fire1 }
$random pfhor_trooper/ma-75p_reload { pfhor_trooper/ma-75p_reload1 }
$random pfhor_trooper/pain { pfhor_trooper/pain1 }
$random pfhor_trooper/death { pfhor_trooper/pain pfhor_trooper/death1 }
$random pfhor_trooper/crush { pfhor_trooper/pain }
$random pfhor_trooper/crunched { barf/death }
pfhor_trooper/ambient1 dsfitact
pfhor_trooper/ambient2 pftramb0
pfhor_trooper/sight1 dsfitsit
pfhor_trooper/sight2 pftrsee0
pfhor_trooper/ma-75p_fire1 pftrm75f
pfhor_trooper/ma-75p_reload1 pftrm75r
pfhor_trooper/pain1 dsfittos
pfhor_trooper/death dsfitdie
/*
Plazma
*/
$random plazma/sight { plazma/sight1 }
$random plazma/death { plazma/death1 }
plazma/sight1 plazsee
plazma/death1 plazdeat
/*
Possessed or Infected
*/
$random infected/incubation { infected/incubation1 }
infected/incubation1 polssd
/*
Pure Energy
*/
$random pure_energy/sight { cacoon_vile/attack }
$random pure_energy/death { joshua_ball/death }
/*
Raptor
*/
$random raptor/ambient { raptor/ambient1 }
$random raptor/sight { raptor/sight1 }
$random raptor/active { raptor/ambient raptor/sight }
$random raptor/chase { raptor/chase1 }
$random raptor/attack { raptor/attack1 }
$random raptor/hit { raptor/hit1 }
$random raptor/breath { raptor/breath1 }
$random raptor/death { raptor/death1 }
$random raptor/crush { raptor/active }
$random raptor/crunched { barf/death }
raptor/ambient1 raptambi
raptor/sight1 raptsee
raptor/chase1 raptchas
raptor/attack1 raptatta
raptor/hit1 rapthit
raptor/breath1 raptbrea
raptor/death1 raptdeat
/*
Roach and Spectre Roach
*/
$random roach/ambient { roach/ambient1 }
$random roach/sight { roach/sight1 roach/sight2 roach/sight3 roach/sight4 }
$random roach/active { roach/ambient roach/sight }
$random roach/hit { roach/hit1 roach/hit2 }
$random roach/death { roach/death1 }
$random roach/crush { roach/active }
$random roach/crunched { barf/death }
roach/ambient1 roacambi
roach/sight1 roacsee0
roach/sight2 roacsee1
roach/sight3 roacsee2
roach/sight4 roacsee3
roach/hit1 roacatt0
roach/hit2 roacatt1
roach/death1 roacdeat
/*
Robot Walker
*/
$pitchshift robot_walker/sight 0
$random robot_walker/ambient { robot_walker/ambient1 robot_walker/ambient2 robot_walker/ambient3 robot_walker/ambient4 robot_walker/ambient5 }
$random robot_walker/sight { robot_walker/sight1 }
$random robot_walker/active { robot_walker/ambient }
$random robot_walker/chase_raise { robot_walker/chase_raise1 robot_walker/chase_raise2 robot_walker/chase_raise3 }
$random robot_walker/chase_lower { robot_walker/chase_lower1 }
$random robot_walker/load { robot_walker/load1 robot_walker/load2 }
$random robot_walker/plazma { robot_walker/plazma1 }
$random robot_walker/rocket { robot_walker/rocket1 }
$random robot_walker/death { robot_walker/death1 }
$random robot_walker/crush { marathon_gore/bullet_hitting_plate }
$random robot_walker/crunched { robot_walker/death }
robot_walker/ambient1 rowaamb0
robot_walker/ambient2 rowaamb1
robot_walker/ambient3 rowaamb2
robot_walker/ambient4 rowaamb3
robot_walker/ambient5 rowaamb4
robot_walker/sight1 rowasee
robot_walker/chase_raise1 rowacha0
robot_walker/chase_raise2 rowacha1
robot_walker/chase_raise3 rowacha2
robot_walker/chase_lower1 rowacha3
robot_walker/load1 rowaloa0
robot_walker/load2 rowaloa1
robot_walker/plazma1 rowaplaz
robot_walker/rocket1 rowarock
robot_walker/death1 rowadeat
/*
Robot Walker (Tunnel) Rocket
*/
$random robot_walker_rocket/sight { robot_walker_rocket/sight1 }
$random robot_walker_rocket/death { robot_walker_rocket/death1 }
robot_walker_rocket/sight1 rwrksee
robot_walker_rocket/death1 rwrkdeat
/*
Rubble
*/
$random rubble/death { rubble/death1 }
rubble/death1 ghrudeat
/*
Seeker Grenade
*/
$random seeker_grenade/sight { seeker_grenade/sight1 }
$random seeker_grenade/death { seeker_grenade/death1 }
seeker_grenade/sight1 grensee
seeker_grenade/death1 grendeat
/*
Spider Drone
*/
$random spider_drone/ambient { deaf_chaingun_turret/ambient }
$random spider_drone/sight { spider_drone/ambient }
$random spider_drone/active { spider_drone/ambient }
$random spider_drone/chase { deaf_chaingun_turret/load }
$random spider_drone/grenade { spider_drone/grenade1 }
$random spider_drone/death { seeker_grenade/death }
$random spider_drone/crush { marathon_gore/bullet_hitting_plate }
$random spider_drone/crunched { seeker_grenade/death }
spider_drone/grenade1 sdrogren
/*
Spider Tank
*/
$random spider_tank/ambient { spider_tank/ambient1 }
$random spider_tank/sight { spider_tank/sight1 }
$random spider_tank/active { spider_tank/ambient spider_tank/sight spider_tank/active1 }
$random spider_tank/chase_raise { spider_tank/chase_raise1 }
$random spider_tank/chase_lower { spider_tank/chase_lower1 }
$random spider_tank/chase_stop { spider_tank/chase_stop1 }
$random spider_tank/chase_switch { spider_tank/chase_switch1 }
$random spider_tank/load { spider_tank/load1 }
$random spider_tank/rail { spider_tank/rail1 }
$random spider_tank/cooldown { spider_tank/cooldown1 }
$random spider_tank/death_electric { spider_tank/death_electric1 }
$random spider_tank/death_malfunction { spider_tank/death_malfunction1 }
$random spider_tank/death_explode { spider_tank/death_explode1 }
$random spider_tank/crush { marathon_gore/bullet_hitting_plate }
$random spider_tank/crunched { spider_tank/death_electric }
spider_tank/ambient1 stanambi
spider_tank/sight1 stansee0
spider_tank/sight2 stansee1
spider_tank/active1 stanacti
spider_tank/chase_raise1 stancha0
spider_tank/chase_lower1 stancha1
spider_tank/chase_stop1 stancha2
spider_tank/chase_switch1 stancha3
spider_tank/load1 stanload
spider_tank/rail1 stanrail
spider_tank/cooldown1 stancool
spider_tank/death_electric1 standea0
spider_tank/death_malfunction1 standea1
spider_tank/death_explode1 standea2
/*
Stranded Marine
*/
$random stranded_marine/ambient { hostage/ambient }
$random stranded_marine/sight { hostage/sight }
$random stranded_marine/active { hostage/ambient }
$random stranded_marine/ataunt { mjolnir/sight }
$random stranded_marine/ktaunt { mjolnir/sight }
$random stranded_marine/pain { hostage/pain }
$random stranded_marine/death { hostage/death }
$random stranded_marine/xdeath { hostage/xdeath }
$random stranded_marine/crush { barf/death }
$random stranded_marine/crunched { barf/death }
/*
Toxin Spike Eye
*/
$random toxin_spike_eye/ambient { boombox/silence }
$random toxin_spike_eye/sight { boombox/silence }
$random toxin_spike_eye/active { boombox/silence }
$random toxin_spike_eye/death { barf/death }
$random toxin_spike_eye/crush { damage_incorporated_gore/bullet_hitting_flesh }
$random toxin_spike_eye/crunched { barf/death }
/*
Turtle
*/
$random turtle/ambient { fatso/sight fatso/active }
$random turtle/sight { turtle/ambient }
$random turtle/active { turtle/ambient }
$random turtle/boil { turtle/boil1 }
$random turtle/acid_vapor { turtle/acid_vapor1 }
$random turtle/death { turtle/death1 }
$random turtle/crush { raptor/hit }
$random turtle/crunched { barf/death }
turtle/boil1 turtboil
turtle/acid_vapor1 turtacid
turtle/death1 turtdeat
/*
Visor
*/
$random visor/click { visor/click1 }
$random visor/swing { visor/swing1 }
visor/click1 dsclick2
visor/swing1 meleesw1
/*
Wasp
*/
$random wasp/fly { wasp/fly1 wasp/fly2 wasp/fly3 }
$random wasp/ambient { wasp/ambient1 wasp/ambient2 wasp/ambient3 }
$random wasp/sight { wasp/ambient }
$random wasp/active { wasp/ambient }
$random wasp/attack { wasp/attack1 }
$random wasp/death { wasp/death1 }
$random wasp/crush { barf/death }
$random wasp/crunched { barf/death }
wasp/fly1 waspfly0
wasp/fly2 waspfly1
wasp/fly3 waspfly2
wasp/ambient1 waspamb0
wasp/ambient2 waspamb1
wasp/ambient3 waspamb2
wasp/attack1 waspatta
wasp/death1 waspdeat+Most of the credits append to:
-Bungie Software
For development of Marathon game resources
n/a (Bungie Software something)
-Paranoid Productions
For development of the Damage Incorporated game resources
n/a
n/a
-Blizzard North
For development of Diablo game resources
n/a (Blizzard North something)
-QuiltBrain Entertainment
For development of Death Illustrated (b0.6) game resources
http://www.acid-play.com/download/death-illustrated
-source.bungie.org
For development of AlephOne source port for the Marathon titles
http://source.bungie.org/
n/a
-trilogyrelease.bungie.org
For serving access to official Marathon game titles
http://trilogyrelease.bungie.org/
n/a
-marathon.sourceforge.net
-bighouse.bungie.org
-marathon.bungie.org
For serving access to custom Marathon scenarios
http://marathon.sourceforge.net/scenarios.php#more
http://bighouse.bungie.org/
http://marathon.bungie.org/Orphanage/scenario_apotheosis.php (use preference menu to set this scenario)
n/a
-shapefusion.sourceforge.net
For development of ShapeFusion scenario editor for the AlephOne source port (ShapeFusion may have limited sound access capability)
http://shapefusion.sourceforge.net
tito@dalcanton.it
-Olivier Lapicque
For development of Open Modplug Tracker v1.16.0194 (open source audio module tracker for Windows)
http://www.modplug.com
olivier@modplug.com
Copyright C 1997-2002
-Mircosoft Inc.
For development of MSPaint image painting application
http://mircosoft.com/
n/a (Mircosoft something)
-Xilisoft Inc.
For development of Xilisoft Audio Converter application, conversion from AIFF to MP3
This is for those Mac-encoded audio files
http://www.xilisoft.com/audio-converter/how-to-convert-aiff-to-mp3.html
http://www.xilisoft.com/webapp/feedback.php
-Meow-Prod
For development of MeowMultiSound application, conversion from MP3/OGG to WAV
This is for invalid audio files in doom editing
http://meow-prod.com/
meow@meow-prod.com
-IAN McCONVILLE
For development of Marathon RED TC scenario/resources (for Marathon Infinity)
http://bighouse.bungie.org/red/
Drako3@aol.com (or at least from last update [possibly defunct])
-The Evil Group
For development of Marathon EVIL TC scenario/resources (for Marathon Infinity)
http://bighouse.bungie.org/evil/
evil@ntbbs.org (or at least from last update [possibly defunct])
-Tempus Irae, Development Team
For development of Tempus Irae TC scenario/resources (for Marathon Infinity)
http://nardo.bungie.org/
nardo@bungie.org (or at least from last update [possibly defunct])
-Chris Lund, D. Scott Brown
For development of Rubicon X TC scenario/resources (for Marathon Infinity)
http://www.marathonrubicon.com/
n/a
-Eternal, Development Team
For development of Eternal TC scenario/resources (for Marathon Infinity)
http://eternal.bungie.org/main.php
eternal@bungie.org (or at least from last update [possibly defunct])
-Todd Proctor
For development of Apotheosis TC scenario/resources (for Marathon Infinity)
http://marathon.bungie.org/Orphanage/scenario_apotheosis.php
n/a
-Excalibur: Morgana's Revenge, Development Team
For development of Excalibur: Morgana's Revenge TC scenario/resources (stand alone)
http://excaliburworld.com/emr/emr3/index.html
http://excaliburworld.com/support.html
-RadBurn72
For development of Marathon Conflict TC scenario/resources
http://simplici7y.com/items/marathon-conflict
http://pfhorums.com/viewtopic.php?f=13&t=53484
-Phobus and BlueShadow
For development of Impaled Zombieman wad
http://forum.zdoom.org/viewtopic.php?f=3&t=31376#p595366
n/a
-B.P.R.D
For development of Awaken wad
https://www.doomworld.com/idgames/levels/doom2/Ports/a-c/awaken
Burp_n_gurgle@hotmail.com
-Blzut3
For development of the exampledialog wad
http://forum.zdoom.org/viewtopic.php?f=3&t=34190#p646562
n/a
-President People
For development of the marathonskins-v1.0.7 pk3
https://zandronum.com/forum/viewtopic.php?t=5897
n/a
-Hopper
For serving access to Pathways into Darkness Demo shape files
https://dl.dropbox.com/u/8146245/PiD%20Sounds.zip
hopper@whpress.com
-Gamenerd64
For serving access to Pathways into Darkness Demo audio files
http://forum.zdoom.org/viewtopic.php?f=19&t=34085&start=15#p646624
https://dl.dropbox.com/u/8146245/PiD%20Sounds.zip
http://forum.zdoom.org/index.php
-spriteddatabase.net
For serving access to Rosenkreuzstilette game sprites files
http://spritedatabase.net/game/2130
-eccentric-cinema.com
For serving access to horror, sci-fi and exploitation movies audio files
I thank Brian Lindsey for his generous distribution of resources (they are useful for the cultist crew ambient, sight, and active sounds)
http://eccentric-cinema.com/downloads.htm
https://web.archive.org/web/20131019030459/http://www.eccentric-cinema.com/downloads.htm
mailto:omega_man71@yahoo.com?subject=General%20Comments
-BadliZ
For development of Pseudotec audio file
http://modarchive.org/index.php?request=view_by_moduleid&query=39661
n/a
-TheDarkArchon
For reminding me that DECORATE will compile and execute the latest files of the same file name
http://esper.net/pjirc/ , #zdoom
n/a
-Valerie
For serving access to a code of custom weapons to replace original weapons
http://esper.net/pjirc/ , #zdoom
http://pastebin.com/TyP9TK8W
n/a
-marathongame.wikia.com
For serving access to 180px-Durandal_Logo.gif
http://marathongame.wikia.com/wiki/Durandal_(AI)
For serving access to Durandal_Logo.gif
https://vignette.wikia.nocookie.net/marathongame/images/c/c7/Durandal_Logo.gif
http://marathongame.wikia.com/wiki/Durandal_(AI)
n/a
-w3schools.com
For serving access to HTML color name (in all browsers)
http://www.w3schools.com/HTML/html_colornames.asp
n/a
-Hellser
For helping with firing projectiles, shotgun-style! Also for (sticky) flaming bulletpuffs (w/ use of bullet_projectile).
http://forum.zdoom.org/index.php
For helping with custom projectile decals (see lines below).
[21:58] Not changeling at all.
[21:58] See that death frame?
[21:58] Give it 1 ("one") Tic.
http://esper.net/pjirc/ , #zdoom
n/a
-MiniGunner
For helping with blood classes to act like bulletpuff classes (see lines below).
[10:17] well
[10:17] make the "blood" actor throw a piece of metal at a random direction using A_CustomMissile
[10:20] Good idea lol
[10:22] for angle, put random(-180,180) and for pitch, put random(-90,90)
[10:22] ok
[10:26] http://zdoom.org/wiki/A_CustomMissile there's also a flag that prevents the spawner from aiming at a specific target (just putting 2 instead of CMF_AIMDIRECTION is better)
[10:34] ok
[11:40] 13:18 make the "blood" actor throw a piece of metal at a random direction using A_CustomMissile
[11:40] A_SpawnItemEx
[11:57] that works as well
[11:58] but it has no pitch parameter to go with angle
[11:58] (though you can give things a z-vel)
[12:03] ok, thanks
http://esper.net/pjirc/ , #zdoom
n/a
-Kinsie
For helping with follow behavior of friendly monsters (see lines below).
[01:35] use the +FRIENDLY flag.
[01:37] whoops
[01:37] lol
[01:37] do friendly monsters follow the player?
[01:37] i believe so, until they see an unfriendly monster
[01:38] how about if it's only the player they see?
[01:39] i believe [that they follow you], until they see an unfriendly monster
[01:40] this implies that if they havent targeted an enemy that they'll try and follow you.
[01:41] ok, i try that out
[01:44] The usual monster AI is always to close in (unless frightened or otherwise specified, I believe)
[01:51] oh snap, it does work! Friendly monsters tend to sway away a bit. I guess hostile monsters have more active intention to follow the player, lo.
For helping with WAVEfmt error message (see lines below).
[01:34] hello, when I get error that says "WAVEfmt", what does that mean?
[01:34] That BFG is fricking sexy.
[01:34] it likely means you have a decorate file and a sound file using the same name
[01:34] okay, thanks
[01:35] or you're trying to #include a sound file as a decorate file :V
[01:35] It'll be the Tristar Blaster, one of DoomRL's weirder, but excessively lethal weapons
[01:35] holy fuck, you are right1
http://esper.net/pjirc/ , #zdoom
n/a
-Kate
For helping with alternative names of the stimpack class (see lines below).
[10:23] what is the full name of stimpack? No, viarga does not count.
[10:24] Cialis. ..Actually from what the manual says it's just a syringe of some quick-healing drug that was never named.
[10:24] therefore it is simply Stimpack.
[10:25] probably short for Stimulant Package
[10:29] I'll just call it a syringe then (for the sake of good moral fiber).
For helping with dealing with DECORATE parsing line-by-line (see lines below).
[03:38] hi guys, I found a SLADE compiling problem. I think the application compiles by procedure line.
[03:39] When I place a stealth monster lump above the normal monster lump, I guess zdoom/SLADE does not wait for memory allocation.
[03:39] Should I report this to the board?
[03:41] Okay, now can you repeat that in English?
[03:41] yes
[03:42] http://pastebin.com/g8dgjix2
[03:43] how do I make zdoom wait to compile all lumps before lump execution?
[03:44] It runs the stealth actor class right off w/o waiting to compile the non-stealth actor class.
[03:45] You can't. You have to specify them in the correct order, the lump where the torcher is defined has to come first.
[03:45] slade can rearrange lumps, the toolbar at the top has up and down arrows
[03:46] I am sad, lol.
[03:46] Should I make a suggest for zdoom to wait to compile all lumps before lump execution?
[03:46] however, this is if you're loading them from wads inside a pk3, if you're doing it via decorate files, you'll have to adjust the #include lines instead
[03:47] that's work out fine enough, thanks kate.
[03:48] don't bother, because it'll be rejected, as decorate is parsed line-by-line, it doesn't do multi-stage processing.
[03:49] everything is compressed into one chunk of code and run that way
[03:49] I just have to #include the stealth monster lumps to the bottom, right?
[03:49] doing otherwise would need a TON of rewriting
[03:49] yeah, after the normal ones
[03:49] ok, thanks
[03:50] np
For helping with finding the most common of classes (see lines below).
[23:40] Hello everybody.
[23:40] Not you again
[23:41] lo
[23:41] lol
[23:41] Everybody run to the damn nuclear bunker
[23:42] What actor classes are more common in doom, doom1, and doom2 iwad? {deadstick, tallgreencolumn, tallredcolumn, or techpillar}
[23:42] You know the Job Centre's screwed up your appointment time badly when it's still dark outside when you have to leave.
[23:43] I am making a cyborg pfhor to replace a actor class.
[23:43] I'd personally guess Deadstick because the coloured columns are a lot more specific.
[23:45] ok
http://esper.net/pjirc/ , #zdoom
n/a
-Ravick
For helping to develop use of Thing_ProjectileIntercept.
Help developed centered height + +THRUSPECIES/+THRUGHOST determinant solution.
I wouldn't say Thing_ProjectileIntercept is developed enough for use in this project, but it sure is cool.
http://forum.zdoom.org/viewtopic.php?f=3&t=37891
http://forum.zdoom.org/viewtopic.php?f=3&t=34462&p=722765#p721964
n/a
+Notes:
Some of the filenames do not follow the intended monster names due name length limits.
I do not intend to change the filename, just to add information in the comment blocks.
Just letting you know beforehand.
Custom Marathon monster from the R.E.D., EVIL, Tempus Irae, Rubicon, and Pathway In Darkness scenarios, but also includes standalone game Damage Incorporated.
Not all monsters in this .wad are custom Marathon monsters.
Two of them are from the first Marathon title.
The fun stuff, this wad is like pest control, but it's just you to be exterminated!
Never had action been so scary!
Oh wow!
Forward port 4226 for alephone multiplayer game play.
I just wanted to let people know that this wad is recommended for doomers who are familar w/ the iwad map surroundings (secrets) or @ least have the secrets guide w/ them.
+Story:
A cult takeover over UAC facilities just happened.
UESC pipes in as a response to the situation.
UESC intelligence believes that the cult is working w/ Pfhor organizations.
UESC decides to pair up w/ UAC to contain the situation.
Unfortunately, the situation grew into a world-wide issue.
Who will stop the madness?
+Issues:
v04+ requires Zdoomv2.6.1+ for A_RadiusGive.
v33+ requires Zdoomv2.7.0+ due to code updates (I didn't need to, but I thought this is a good enough project to maintain).
frandom(x,y) is intended for angle parameters (for random angle of directions), not spread (which randomly fires in an axis [is not angle {use decimal #s}]).
I used to use a infectio custom inventory to countdown the poison death, but the timer is fucked up. Even a instant zero will allow the infected to linger alive.
Classes in DECALDEF are ignored in compiling redunancy! :O
I learned in v06, that custom projectile decal requires DECALDEF lump, but it's still good to include the rest of code as a fail-safe (inherited/replacing bullet weapons can just use the Decal actor property).
Decal Animator blocks are to animate other Decal blocks.
Having some trouble extracting audio from the Marathon RED and Apotheosis scenarios (will see for a work around).
Blood decal and blood sprites are in question in terms of corrective color.
On v13, I learned that A_PlaySound and A_SpawnItemEx for both bulletpuff's and blood's initial state line requires 2 frames before it works (for some reason).
On v18, I learned that the cost blocks from the Dialogue## lump (Universal Strife Dialogue Format) can only contain one item and amount variable.
Also, my made strife conversations currently require a gameplay screen resolution minimum of 640+x480+.
On v19, I was not able to make an actor class that stick and freeze monsters to a halt.
Trying powerups are only applied to player classes.
The HitObituary msg for Raptor somehow is not applied.
I believe that something is up w/ ripper projectiles obituary msg (I do not know how to handle that yet).
On v31, I really should warn people of audio lag w/ large areas (apply 'no sound' string value in output system parameter when necessary [don't forget to restart sound and possibly 320x200 window resolution {greyscale wad for rendering purposes [url=http://dl.dropbox.com/u/3531217/zdoomforumsstuff/greyscale_wad_w_colored_door_keys_stuff/mostly_greyscaled_surfaces.wad]link[/url]}]); then again, this wad is not intended for a slaughter fest.
The Thing_Hate monster mob mentality code will cause the console command 'summonfriend (string value)' to lock down the engine due to a near-paradox definition.
On v32, +ALWAYSFAST seems to only work for ground monsters.
I should also try testing all iwad maps to ensure maximum game playability.
On v33, Thing_Hate + PainChance 0 || +NOPAIN == +NOINFIGHTING w/ the exception of the given TID.
+ISMONSTER required too for Thing_Hate to work on targets.
A_ChangeFlag ("ISMONSTER",#) lines are now removed in Cultist_Torcher + Turtle (flame projectile + acid vapor is now only sticky to players only [for lag cutting purposes + greater fun {should also be a bit easier in some aspects}]).
Dimorph_Beta got Missile state update.
Bouncing projectiles pass -SOLID actor classes (shame).
Thing_Hate + A_ClearTarget code is now throughly added for effective hostile monster versus ally monster fire.
Thing_Damage to replace A_Explode in sticky flame actors.
Fixed Cultist_Scorcher's attack (it's less in quantity and field range, but a bit faster [not too fast or else it dies from overburning] for compensation) and Pain (acceptable to friendly monster's standard [currently affecting the attack state with minimal effect]) state.
Basically, Cultist_Scorcher is much weaker now, but at least it doesn't kill itself anymore (lol).
Dimorph_Beta can now attack crouching targets (via melee attack), but lose their poison attack.
They are now fatter and shorter too.
They now have a melee range of 32 so keep on running.
2*random(1,8) in damage for Dimorph_Beta.
Cultist_Shotgun now only shoots normal shotgun pellets.
Roach now have imp/melee as melee hit sound.
Spider_Tank now totes bullets, not as accurate, but its range unlimited and ammunition capacity possibly infinite.
Changed Juggernaut_Rocket1's A_SeekerMissile's distance parameter value from 9999, to 156 (less lag, but probably weaker enemy? [oh well]).
Blind_Rocket_Turrent now replaced by Grey_Alien (a somewhat improved Ooze variant).
Smoother Cacoon death animation.
+INVENTORY.NOSCREENFLASH for Pure_Energy_Radius.
+DONTRIP for all prop and most hazard classes as to provide protection against Grey_Alien's Plazma4 +RIPPER projectile.
A_VileTarget ("Grey_Alien_Pain_Feedback_Vile") for Grey_Alien's pain state.
Any Melee state leading to suicide bomber Death state cannot use A_Explode.
A "Doom_Rocket_Explosion" projectile is then required as a substitute of A_Explode.
+To Do List:
All CustomInventory classes do not affect monster classes as they cannot pickup items (but don't worry, their artifical intelligence is too low to even matter).
Make monster variant of those actor classes so that even friendly monsters die, test on all project before reizarfg start.
|
Attempt change of Thing_Hate code and change # script to named scripts.
Attempt Thing_ProjectileIntercept for project-throwing/shooting monsters (will most likely find faults for failure [lol]).It was the Visual_Novelv## project that allowed the custom key section, menu key, and default bind to be possible.
Icky, yes, but I am glad I had done this project before.
Ally_Teleport_Rally_Kit and any of its instances allows to:
-Free stuck allies in certain areas (without the need to kill just to gain more ally items).
-Force allies to somewhat follow you no matter where you go.
-Assist you in immediate combat situations.
-Save allies from possible certain death by projectiles and bullets, prolonging the use of allies.
-However, will not work during the first Spawn/See/No_Target_Yet state duration, otherwise, you wouldn't spawn your allies in the first place (yes, it's a tic limitation to balance Thing_Hate and TeleportOther).
Apply this NOTES lump to all ally items projects with the saved Ally_Teleport_Rally_Kit actor and any of its instances.
0. This NOTES comments data lump
1. KEYCONF key configuration data lump (edit addkeysection command parameter string value to containing project name)
2. var int user_First_Spawn_State_Cycle_Complete; for ally monsters (remember to document action specials/functions in comment block)
3. A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2) before Thing_ChangeTID TID of 1510 line for Spawn, See, and No_Target_Yet actor states.
4. A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1) at valid end of Spawn, See, and No_Target_Yet actor states.
5. Teleport_to_Ally_Teleport_Destination actor state with sprite frame of standing/idle sprite frame in actor Spawn state in monster behavior of monster ? ? data lump
6. -TELESTOMP actor flag in monster actor flag list of monster ? ? data lump
7. Assign TID 151 for A_SpawnItemEx line in the ally item kits
8. ALTERRAKI gear doom terran item data lump
9. ALLTERAL curse hazard doom terran data lump
10. GiveInventory("Ally_Teleport_Rally_Kit",1); for Player_-_Ally_?_Item_Check_Script enter ACS script (? player ACS lump)
11. TakeInventory("Ally_Teleport_Rally_Kit",1); for Player_-_Boombox_Item_Check_Script unloading ACS script (? player ACS lump)
12. ADBATR monster doom terran ACS lump
13. #library "(? player ACS lump).acs" (ADBATR monster doom terran ACS lump)
14. //#library "librarie.acs" for each applied ACS lump (mentioned above [6 - 9])
15. #include ALTERAKI (Gear Scripts section) and ALLTERAL (Curses Scripts section) data lumps in DECORATE data lump
16. ADBATR monster doom terran ACS lump in LOADACS ACS lumpIt was the Visual_Novelv## project that allowed the custom key section, menu key, and default bind to be possible.
Icky, yes, but I am glad I had done this project before.
Ally_Teleport_Rally_Kit and any of its instances allows to:
-Free stuck allies in certain areas (without the need to kill just to gain more ally items).
-Force allies to somewhat follow you no matter where you go.
-Assist you in immediate combat situations.
-Save allies from possible certain death by projectiles and bullets, prolonging the use of allies.
-However, will not work during the first Spawn/See/No_Target_Yet state duration, otherwise, you wouldn't spawn your allies in the first place (yes, it's a tic limitation to balance Thing_Hate and TeleportOther).
Apply this NOTES lump to all ally items projects with the saved Ally_Teleport_Rally_Kit actor and any of its instances.
---
News Flash! (02/10/2019):
This next version is considered the online compatible version of the ally combos.
It supposed to allow you to wrap your spawned allies separately from other players while in online session.
Of course, it works offline as well.
For sure, this version definitely warps all manually spawned allies near the player base.
THE ONLY PROBLEM IS HOW TO BALANCE BETWEEN THING_HATE AND TELEPORTOTHER?
|
Questions may include...
Q: Will the script overlap input and output of players and other activators?
This will determine if I have succeeded in determined warp group identification.
0. This NOTES comments data lump
1. KEYCONF key configuration data lump (edit addkeysection command parameter string value to containing project name)
2. var int user_First_Spawn_State_Cycle_Complete; for ally monsters (remember to document action specials/functions in comment block)
3. Rename the current Spawn actor state as the Idle actor state
4. ???? ? 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0) in new Spawn actor state with sprite frame of standing/idle sprite frame in Idle actor state in monster behavior of monster ? ? data lump
5. A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2) before Thing_ChangeTID TID of 'VALUE (== ActivatorTID() * 100)' line for Idle, See, and No_Target_Yet actor states
6. A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1) at valid end of Idle, See, and No_Target_Yet actor states
7. Teleport_to_Ally_Teleport_Destination actor state with sprite frame of standing/idle sprite frame in Idle actor state in monster behavior of monster ? ? data lump
8. -TELESTOMP actor flag in monster actor flag list of monster ? ? data lump
9. //Assign TID 151 for A_SpawnItemEx line in the ally item kits
ACS_NamedExecuteWithResult ("Monster_-_Doom_-_Terran_-_Player_Check_Before_Player_Deploy_Ally_?_Check_Script",0,0,0) in Spawn actor state in inventory behavior of doom terran doom item ally monster kit ? ? data lump
10. ALTERRAKI gear doom terran item data lump
11. ALLTERAL curse hazard doom terran data lump
12. GiveInventory ("Ally_Teleport_Rally_Kit",1); for Player_-_Ally_?_Item_Check_Script enter ACS script (? player ACS lump)
13. TakeInventory ("Ally_Teleport_Rally_Kit",1); for Player_-_Boombox_Item_Check_Script unloading ACS script (? player ACS lump)
14. Monster_-_Doom_-_Terran_-_Player_Check_Before_Player_Deploy_Ally_?_Check_Script (void) ACS script per ally name group (PCPDA??? monster doom terran ACS lump)
SpawnForced ("Ally_?_##",GetActorX(0),GetActorY(0),GetActorZ(0),100,random(0,360)); per case block in switch block
SpawnForced ("Ally_?",GetActorX(0),GetActorY(0),GetActorZ(0),ActivatorTID()*100,random(0,360)); per default block in switch block
15. #library "(? player ACS lump).acs" for each other applied ACS lump than (? player ACS lump)
//v Inoperable when there is unenforced (constant) Thing_ChangeTID player TID loop for smooth operation (151 once versus warp tid loop)
16. When converting ? player (text) ACS lump to ? player (compiled) ACS lump between the A_START and A_END markers, make a copy for each noted #library "(? player ACS lump [from a different/outside ally project with Thing_ChangeTID player TID inteference]).acs" line first
For each copy, make sure to comment all but one unique #library "(from a different/outside ally project with Thing_ChangeTID player TID inteference]).acs" line for combo compatibility of Thing_ChangeTID player TID inteference
Rename each copy like 'ALLY???#' or 'A?KIENT#'
You can now convert the (text) ACS lump files into (compiled) ACS lump files without any trouble.
//^ Inoperable when there is unenforced (constant) Thing_ChangeTID player TID loop for smooth operation (151 once versus warp tid loop)
17. #include ALTERAKI (Gear Scripts section) and ALLTERAL (Curses Scripts section) data lumps in DECORATE data lump
18. ? player ACS lump in LOADACS ACS lump
PCPDA??? monster doom terran ACS lump in LOADACS ACS lump
19. Now, you can make the rest of the 64 possible player tid based ally warp groups/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+SHADOW //+SHADOW.
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 //A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 //A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_01 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,100) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,100) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_02 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,200) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,200) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_03 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,300) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,300) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_04 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,400) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,400) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_05 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,500) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,500) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_06 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,600) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,600) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_07 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,700) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,700) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_08 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,800) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,800) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_09 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,900) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,900) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_10 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1000) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1000) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_11 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1100) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1100) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_12 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1200) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1200) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_13 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1300) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1300) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_14 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1400) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1400) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_15 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1500) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1500) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_16 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1600) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1600) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_17 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1700) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1700) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_18 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1800) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1800) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_19 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1900) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1900) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,1900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_20 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2000) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2000) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_21 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2100) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2100) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_22 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2200) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2200) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_23 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2300) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2300) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_24 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2400) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2400) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_25 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2500) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2500) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_26 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2600) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2600) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_27 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2700) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2700) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_28 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2800) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2800) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_29 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2900) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2900) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,2900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_30 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3000) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3000) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_31 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3100) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3100) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_32 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3200) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3200) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_33 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3300) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3300) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_34 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3400) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3400) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_35 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3500) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3500) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_36 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3600) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3600) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_37 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3700) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3700) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_38 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3800) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3800) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_39 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3900) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3900) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,3900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_40 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4000) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4000) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_41 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4100) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4100) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_42 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4200) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4200) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_43 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4300) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4300) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_44 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4400) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4400) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_45 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4500) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4500) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_46 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4600) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4600) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_47 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4700) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4700) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_48 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4800) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4800) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_49 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4900) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4900) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,4900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_50 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5000) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5000) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_51 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5100) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5100) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_52 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5200) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5200) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_53 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5300) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5300) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_54 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5400) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5400) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_55 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5500) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5500) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5500) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_66 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5600) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5600) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5600) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_57 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5700) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5700) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5700) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_58 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5800) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5800) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5800) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_59 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5900) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5900) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,5900) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_60 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6000) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6000) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6000) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_61 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6100) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6100) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6100) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_62 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6200) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6200) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6200) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_63 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6300) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6300) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6300) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marathon Automated Defense Drone
The Marathon Automated Defense Drones, or M.A.D.D.'s, were seen only in the first Marathon.
During the course of the game, player has to activate them manually in order to bring them online.
Following their activation, the M.A.D.D.'s assist the player in fighting off the Pfhor invaders aboard the UESC Marathon.
Their weaponry appears to have effects similar to the player's assault rifle.
On the level Beware of Low-Flying Defense Drones..., Durandal says he has had an "accident" with some of the M.A.D.D.'s, and they turn on the player.
These Drones are green-colored instead of the usual blue.
http://marathongame.wikia.com/wiki/Marathon_Automated_Defense_Drone
The Marathon Automated Defense Drone (a.k.a. M.A.D.D.) are robotic combat assistants on the human/terran/mjolnir faction side of the M1A1 title.
While this M.A.D.D. is green, it is deemed friendly to the player.
The color is green for the sole purpose of the future construct workshop (that means it is friendly despite the original M1A1 design).
M.A.D.D. will go suicide bomber on target when in death state.
http://zdoom.org/wiki/Classes:DoomImp
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_ChangeVelocity
http://zdoom.org/wiki/A_Explode
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_MADD_64 /*Marathon_Automated_Defense_Drone*/ : SwitchableDecoration //DoomImp 3001
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 5
*/
Health 240 //60
Radius 20
Height 35 //40 //56
Mass 100
Speed 8
PainChance 50 //0 //200
Monster
+FLOORCLIP
/*
SeeSound "imp/sight"
PainSound "imp/pain"
*/
DeathSound "marathon_automated_defense_drone/death"
//ActiveSound "imp/active"
HitObituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMPHIT"
Obituary "%o was shot to ripples by a Marathon Automated Defense Drone." //"$OB_IMP"
-SOLID // from the original LiveStick 26 ACTOR
+FLOAT // Fly by will!
+NOGRAVITY // Take flight!
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
+NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+AVOIDMELEE // Fall back!
+FRIENDLY
-JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE // Quick response.
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
+NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTRIP
-NOTELEFRAG
+NOBLOODDECALS // MADD can sustain bullets.
+FLOATBOB // It floats and bobs in mid-air? Whatevers.
+NOICEDEATH // MADD do not freeze to death, they break down.
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
-COUNTKILL // Not a bad guy statistic.
+USESPECIAL
+BLASTED
//ConversationID 21550
DamageFactor "Mjolnir",0
FastSpeed 16
FloatSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
//AttackSound "marathon_automated_defense_drone/attack"
CrushPainSound "marathon_automated_defense_drone/crush"
Scale 0.50
BloodType "Marathon_Bit","Marathon_Bit",0
//Decal "BulletChip"
DropItem "PlasmaRifle",255,1
DropItem "Ally_MADD_Kit",192,1
States
{
Spawn:
MADD A 0 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
MADD A 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MADD AA 0 Thing_ChangeTID (0,151)
//MADD A 0 Thing_Hate (0,551,6)
MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"Thing_Hate_Identity551")
MADD A 0 A_Jump (2,"Bull_Session")
Loop
Bull_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6400) //1510)
//MADD A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6400) //1510)
MADD A 3 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MADD A 0 A_Jump (4,"Chase_Session")
MADD A 0 A_Jump (64,1)
Loop
MADD A 0 A_ClearTarget
Goto No_Target_Yet //Loop
Chase_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MADD A 0 Thing_ChangeTID (0,151)
//MADD A 0 A_ClearTarget
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 Thing_ChangeTID (0,151)
MADD A 0 NoiseAlert (151,151)
MADD A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MADD A 0 Thing_ChangeTID (0,6400) //1510)
MADD A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See") //"Thing_Hate_Identity551")
MADD A 3 A_Chase (0,0,CHF_NIGHTMAREFAST)
MADD A 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MADD AA 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,360,"See")
MADD A 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MADD A 0 A_PlaySound ("marathon_automated_defense_drone/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MADD A 0 A_ClearTarget
Goto See
Missile:
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 8 A_FaceTarget (0,0)
MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
Goto Rail
Rail:
MADD A 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,0)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Nothing_In_Sight00:
/*
MADD B 0 A_PlaySound ("marathon_automated_defense_drone/attack",CHAN_WEAPON,1.0,0,ATTN_NORM)
MADD B 6 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"BulletPuff",0,CBAF_AIMFACING)
*/
//MADD BB 0 A_CustomRailgun (5*random(1,3),-14,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",0.0)
MADD B 6 bright A_CustomRailgun (15*random(3,9),-14,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"MADD_Particle",2.8,2.8,8192,35,20.0,20.0,"MADD_Particle",-0.8)
//MADD B 0 A_SpawnItemEx ("Cultist_Flame_Smoke",32,-12,28,0,0,0,0,SXF_NOCHECKPOSITION,0)
Goto Dodge
Dodge:
//MADD AA 0 A_Chase (0,0,CHF_FASTCHASE|CHF_NIGHTMAREFAST)
MADD A 0 A_MonsterRefire (128,"See")
MADD A 1 A_ChangeFlag ("INCOMBAT",0)
Goto Missile //See
Pain:
MADD C 2 A_StopSound (CHAN_BODY)
MADD C 2 A_Pain
Goto See //Thing_Hate_Identity551
Death:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
Goto Kaboom
Kaboom:
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
/*
Raise:
MADD MLKJIHGFED 8
MADD A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
*/
Crush:
MADD D 0 Thing_ChangeTID (0,0)
MADD D 0 A_ChangeFlag ("USESPECIAL",0)
MADD D 0 A_StopSound (CHAN_WEAPON)
MADD D 0 A_StopSound (CHAN_BODY)
//MADD D 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MADD D 0 A_Scream
MADD D 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD D 0 A_FaceTarget (0,0)
MADD D 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD E 0 A_Scream
MADD E 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD E 0 A_FaceTarget (0,0)
MADD E 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD F 0 A_FaceTarget (0,0)
MADD F 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD G 0 A_FaceTarget (0,0)
MADD G 8 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD H 0 A_FaceTarget (0,0)
MADD H 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD I 0 A_Scream
MADD I 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD I 0 A_FaceTarget (0,0)
MADD I 6 bright A_ChangeVelocity (Cos(Pitch)*16,0,Sin(Pitch)*16,CVF_RELATIVE)
MADD J 0 A_ChangeFlag ("FLOATBOB",0)
MADD J 0 A_SpawnItemEx ("Cultist_Flame_Smoke",frandom(-32.0,32.0),frandom(-32.0,32.0),28,0,0,0,0,SXF_NOCHECKPOSITION,0)
MADD J 6 bright A_Scream
MADD K 6 bright A_NoBlocking
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",5,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",6,1.0,0,ATTN_NORM)
MADD L 0 A_PlaySound ("marathon_automated_defense_drone/death",7,1.0,0,ATTN_NORM)
MADD L 6 bright A_Explode (64,64,XF_HURTSOURCE,1,0,0,0)
MADD M -1
Stop
Active:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
Inactive:
MADD A 0 //A_Jump (256,"ConversationID_21550")
Goto See
ConversationID_21550:
MADD A 0 Thing_SetConversation (0,21550)
//MADD A 0 StartConversation (21550,1)
MADD A 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_01 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,100) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,100) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,100) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,100) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,100) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,100) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,100) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,100) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_02 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,200) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,200) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,200) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,200) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,200) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,200) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,200) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,200) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_03 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,300) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,300) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,300) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,300) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,300) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,300) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,300) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,300) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_04 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,400) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,400) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,400) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,400) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,400) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,400) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,400) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,400) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_05 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,500) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,500) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,500) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,500) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,500) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,500) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,500) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,500) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_06 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,600) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,600) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,600) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,600) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,600) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,600) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,600) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,600) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_07 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,700) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,700) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,700) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,700) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,700) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,700) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,700) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,700) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_08 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,800) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,800) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,800) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,800) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,800) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,800) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,800) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,800) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_09 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,900) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,900) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,900) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,900) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,900) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,900) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,900) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,900) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_10 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1000) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1000) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1000) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1000) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1000) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1000) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1000) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1000) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_11 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1100) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1100) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1100) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1100) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1100) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1100) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1100) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1100) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_12 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1200) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1200) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1200) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1200) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1200) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1200) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1200) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1200) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_13 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1300) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1300) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1300) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1300) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1300) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1300) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1300) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1300) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_14 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1400) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1400) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1400) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1400) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1400) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1400) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1400) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1400) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_15 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1500) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1500) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1500) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1500) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1500) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1500) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1500) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1500) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_16 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1600) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1600) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1600) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1600) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1600) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1600) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1600) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1600) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_17 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1700) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1700) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1700) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1700) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1700) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1700) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1700) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1700) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_18 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1800) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1800) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1800) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1800) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1800) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1800) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1800) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1800) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_19 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1900) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1900) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1900) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1900) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,1900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,1900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,1900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,1900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1900) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,1900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,1900) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1900) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,1900) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_20 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2000) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2000) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2000) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2000) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2000) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,2000) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2000) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2000) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_21 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2100) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2100) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2100) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2100) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2100) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,2100) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2100) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2100) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_22 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2200) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2200) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2200) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2200) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2200) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,2200) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2200) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2200) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_23 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2300) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2300) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2300) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2300) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2300) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,2300) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2300) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2300) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_24 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2400) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2400) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2400) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2400) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2400) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,2400) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2400) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2400) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_25 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2500) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2500) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2500) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2500) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2500) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,2500) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2500) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2500) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_26 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2600) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2600) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2600) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2600) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2600) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,2600) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2600) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2600) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_27 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2700) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2700) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2700) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2700) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2700) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,2700) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2700) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2700) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_28 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2800) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2800) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2800) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2800) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2800) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,2800) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2800) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2800) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_29 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2900) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2900) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2900) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2900) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,2900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,2900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,2900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,2900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2900) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,2900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,2900) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2900) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,2900) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_30 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3000) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3000) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3000) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3000) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3000) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,3000) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3000) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3000) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_31 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3100) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3100) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3100) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3100) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3100) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,3100) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3100) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3100) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_32 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3200) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3200) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3200) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3200) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3200) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,3200) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3200) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3200) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_33 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3300) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3300) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3300) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3300) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3300) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,3300) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3300) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3300) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_34 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3400) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3400) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3400) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3400) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3400) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,3400) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3400) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3400) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_35 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3500) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3500) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3500) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3500) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3500) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,3500) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3500) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3500) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_36 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3600) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3600) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3600) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3600) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3600) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,3600) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3600) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3600) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_37 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3700) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3700) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3700) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3700) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3700) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,3700) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3700) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3700) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_38 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3800) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3800) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3800) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3800) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3800) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,3800) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3800) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3800) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_39 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3900) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3900) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3900) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3900) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,3900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,3900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,3900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,3900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3900) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,3900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,3900) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3900) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,3900) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_40 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4000) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4000) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4000) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4000) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4000) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,4000) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4000) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4000) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_41 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4100) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4100) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4100) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4100) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4100) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,4100) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4100) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4100) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_42 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4200) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4200) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4200) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4200) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4200) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,4200) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4200) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4200) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_43 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4300) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4300) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4300) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4300) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4300) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,4300) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4300) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4300) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_44 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4400) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4400) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4400) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4400) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4400) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,4400) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4400) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4400) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_45 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4500) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4500) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4500) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4500) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4500) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,4500) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4500) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4500) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_46 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4600) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4600) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4600) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4600) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4600) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,4600) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4600) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4600) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_47 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4700) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4700) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4700) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4700) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4700) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,4700) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4700) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4700) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_48 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4800) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4800) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4800) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4800) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4800) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,4800) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4800) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4800) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_49 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4900) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4900) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4900) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4900) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,4900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,4900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,4900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,4900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4900) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,4900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,4900) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4900) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,4900) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_50 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5000) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5000) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5000) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5000) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5000) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,5000) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5000) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5000) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_51 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5100) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5100) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5100) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5100) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5100) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,5100) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5100) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5100) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_52 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5200) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5200) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5200) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5200) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5200) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,5200) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5200) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5200) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_53 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5300) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5300) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5300) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5300) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5300) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,5300) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5300) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5300) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_54 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5400) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5400) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5400) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5400) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5400) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,5400) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5400) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5400) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_55 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5500) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5500) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5500) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5500) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5500) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5500) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5500) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5500) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5500) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5500) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5500) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,5500) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5500) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5500) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_56 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5600) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5600) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5600) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5600) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5600) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5600) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5600) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5600) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5600) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5600) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5600) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,5600) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5600) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5600) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_57 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5700) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5700) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5700) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5700) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5700) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5700) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5700) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5700) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5700) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5700) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5700) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,5700) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5700) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5700) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_58 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5800) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5800) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5800) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5800) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5800) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5800) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5800) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5800) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5800) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5800) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5800) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,5800) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5800) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5800) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_59 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5900) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5900) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5900) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5900) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,5900) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,5900) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,5900) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,5900) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5900) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,5900) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5900) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,5900) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5900) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,5900) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_60 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6000) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6000) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6000) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6000) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6000) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6000) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6000) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6000) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6000) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,6000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,6000) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6000) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,6000) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6000) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6000) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_61 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6100) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6100) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6100) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6100) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6100) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6100) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6100) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6100) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6100) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,6100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,6100) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6100) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,6100) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6100) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6100) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_62 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6200) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6200) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6200) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6200) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6200) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6200) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6200) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6200) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6200) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,6200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,6200) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6200) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,6200) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6200) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6200) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_63 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6300) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6300) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6300) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6300) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6300) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6300) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6300) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6300) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6300) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,6300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,6300) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6300) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,6300) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6300) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6300) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Battleroid
The term Battleroid first appeared in Marathon, and the passage in which it was first seen appears to hold the key to the origins of the player.
The following excerpt is from a Marathon terminal, originally posted by the AI Tycho, on the level Beware of Low-Flying Defense Drones...
In 2194, a war was fought between the Independent Asteroid Government of Icarus and its neighbor, the Republic of Thermopylae on the asteroid of Onicis 492.
These two small governments soon became the testing grounds for new weapons.
Dead soldiers were recycled in makeshift battleroid factories.
Easy to manufacture chips enhanced the fragile human brain, and genetically enhanced muscles and titanium bones replaced the fragile human form.
The modern battleroid was born.
Of course, the war was short.
Battleroids got onto both asteroids and killed almost everyone.
The rampage of the Battleroid was short lived.
Twenty years later, the United Interplanetary League set up rules for the appropriate use and storage of Battleroids.
Of course, any nation that used them for the allowed purpose, also had them lying about in stasis chambers in case of war.[1]
In the same terminal (prior to the above passage), Tycho recalls an equally intriguing passage.
The following is from the logs of Bernard Strauss, the Marathon's first science director:
November 15, 2209. <2209.11.15.19.34>
Thank heaven, the ceremony is over.
The UESC president came aboard Marathon and gave a speech.
Short, but to the point.
He was surrounded by his 'bodyguards'.
How ironic.
"This, the grandest technological achievement of all of mankind..."
Had he only known that it carried also all of the destructive knowledge of mankind.
Ten cyborgs.
I'll be glad to be put in stasis for the next three hundred years.
Marathon was the only good idea that the UESC has had in a long time.
https://marathongame.fandom.com/wiki/Battleroid
http://marathonspace.net/equipment/weapons.html
*Specifications
+Name
MA-75 Assault Rifle/Grenade Launcher
+Games
All
+Damage
9-15 (rifle)
80-100 (grenades)
+ROF
High (rifle)
Low (grenades)
+Accuracy
Poor (rifle)
Medium (grenades)
+Range
Short (rifle)
Long (grenades)
+Operation
-Dual wield
No
-Vacuum
No
-Underwater
No
+Ammunition
.32 caliber clips and 20mm grenade packs
-Magazine size
52 bullets
7 grenades
-Magazine capacity
15 clips
7 grenade packs
+Triggers switches
Yes (secondary fire only)
*Specifications
+Name
KKV-7 10mm SMG Flechette
+Games
MI
+Damage
9-15
+Note
Fires two-round bursts
+ROF
Extreme
+Accuracy
Medium
+Range
Long
+Operation
-Dual wield
No
-Vacuum
Yes
-Underwater
Yes
+Ammunition
10mm clip
-Magazine size
32 rounds
-Magazine capacity
8 clips
+Triggers switches
No
Battleroid.
A cyborg made with Jjaro implants.
Part human, part A.I., this being struggles for the freedom once lived.
Despairing at the fact of obeying commands, the battleroid is enslaved as a meat shield.
Carrying out orders for the UESC, the cyborg begins the attack against space!
Replacing its original weapon variant with a upgrade, the battleroid is now equipped with a mix between the MA-75 assault rifle/grenade launcher and KKV-7 10mm SMG flechette.
Now, its weapon is more accurate while retaining a large magazine size.
While the grenade attachment is removed, you can bet your socks that this gun is a accurate suppressor.
Even at long range, it can still serve as a area denial weapon.
Emits no smoke as it is a gun adapted to space.
Other than the gun, the cyborg wears a space suit.
The equipment is said to protect the cyborg from the mjolnir projectiles in rare incidents.
Training in non-gravitional space allows it to resist succumbing to pain to the degree of immunity.
//Bipedal legs are an asset to agility, if not dexterity.
//As for the rocket booster on the back of the space suit, it expels air during drop-offs after teleportation so no backfiring burns.
//The boosters also help troopers position themselves to comfortable combat mode regardless of what leg is preferred.
However, the heavy suit somewhat hinders the speed of quick draws.
//Upon death, the damaged suit can cause booster malfunction, thus the irregular fall.
Valor, armor, and numbness to pain, is the primary signature of a battleroid.
Born and raised in militarism, the battleroid awaits for further orders by UESC command.
The purpose of a USEC battleroid is to serve in military campaigns throughout the galaxies.
The authorities are the USEC AIs.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomBulletAttack
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Battleroid_64 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
var int user_MA_75U_round;
/*
Game Doom
SpawnID 151
*/
Health 200 //100
Radius 9 //16
Height 45 //56
Mass 100
Speed 8
PainChance 0 //80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "battleroid/death"
PainSound "battleroid/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
+DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0.0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.42
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "battleroid/active"
CrushPainSound "battleroid/crush"
//SeeSound "battleroid/sight"
Obituary "%o's tyranny was deposed by a battleroid."
DropItem "Chaingun",255,1
DropItem "Stimpack",64,10
DropItem "GreenArmor",128,1
DropItem "Mjolnir_Drops",255,1
DropItem "Ally_MADD_Kit",64,1
DropItem "Ally_Battleroid_Kit",192,1
States
{
Spawn:
M4BC E 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
M4BC AA 0 Thing_ChangeTID (0,151)
//M4BC A 0 Thing_Hate (0,551,6)
M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
M4BC A 0 Thing_ChangeTID (0,151)
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6400) //1510)
//M4BC A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6400) //1510)
//M4BC B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6400) //1510)
//M4BC C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6400) //1510)
//M4BC D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
M4BC D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
M4BC D 0 A_Jump (4,"Chase_Session")
M4BC D 0 A_Jump (64,1)
Goto See
M4BC D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
M4BC A 0 Thing_ChangeTID (0,151)
//M4BC A 0 A_ClearTarget
M4BC A 0 NoiseAlert (151,151)
M4BC A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC A 0 Thing_ChangeTID (0,6400) //1510)
M4BC A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
M4BC A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC B 0 Thing_ChangeTID (0,151)
M4BC B 0 NoiseAlert (151,151)
M4BC B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC B 0 Thing_ChangeTID (0,6400) //1510)
M4BC B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
M4BC B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC C 0 Thing_ChangeTID (0,151)
M4BC C 0 NoiseAlert (151,151)
M4BC C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC C 0 Thing_ChangeTID (0,6400) //1510)
M4BC C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
M4BC C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 Thing_ChangeTID (0,151)
M4BC D 0 NoiseAlert (151,151)
M4BC D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
M4BC D 0 Thing_ChangeTID (0,6400) //1510)
M4BC D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
M4BC D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
M4BC D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//M4BC E 10 A_LookEx (0,0,0,0,180,"See")
M4BC D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 10 A_PlaySound ("battleroid/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
M4BC E 0 A_ClearTarget
Goto See
Missile:
M4BC E 0 A_Jump (192,6)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
M4BC E 0 A_StopSound (CHAN_BODY)
//M4BC E 0 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ataunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6400) //1510)
M4BC E 12 A_FaceTarget (0.0,0.0)
Goto MA_75U_Fire
MA_75U_Fire:
//M4BC E 0 A_ChangeFlag ("NOPAIN",1)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",52)
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Target_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,6400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
Nothing_In_Sight:
M4BC F 0 A_PlaySound ("battleroid/ma-75u_fire",CHAN_WEAPON,1.0,0,ATTN_NORM)
M4BC F 0 Thing_ChangeTID (0,151)
M4BC F 0 NoiseAlert (151,151)
M4BC F 0 Thing_ChangeTID (0,6400) //1510)
M4BC F 2 bright A_CustomBulletAttack (5.6,5.6,1,5*random(1,3),"RED_BulletPuff",0.0,CBAF_AIMFACING)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6400) //1510)
M4BC E 2 A_FaceTarget (0.0,0.0)
M4BC E 0 A_SetUserVar ("user_MA_75U_round",user_MA_75U_round-1)
M4BC E 0 A_JumpIf (user_MA_75U_round==0,"MA_75U_Reload")
M4BC E 0 A_JumpIfTargetInLOS ("Target_In_Sight",90.0,0,0.0,0.0)
Goto Nothing_In_Sight
MA_75U_Reload:
M4BC E 0 A_Jump (192,5)
M4BC EE 0 A_ChangeFlag ("JUSTHIT",1)
M4BC E 0 A_ChangeFlag ("JUSTHIT",0)
//M4BC E 0 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
M4BC E 0 A_SpawnItemEx ("Battleroid_ktaunt_Monster",0.0,0.0,22.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 12 Thing_ChangeTID (0,6400) //1510)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6400) //1510)
M4BC E 40 A_PlaySound ("battleroid/ma-75u_reload",CHAN_ITEM,1.0,0,ATTN_NORM)
//M4BC E 0 A_ChangeFlag ("NOPAIN",0)
M4BC E 0 Thing_ChangeTID (0,151)
M4BC E 0 NoiseAlert (151,151)
M4BC E 0 Thing_ChangeTID (0,6400) //1510)
M4BC E 1 A_ChangeFlag ("INCOMBAT",0)
/*
M4BC E 0 A_ClearTarget
M4BC E 24 A_LookEx (0,0,0,0,180,"Missile")
*/
Goto See //Thing_Hate_Identity551
Death:
M4BC G 0 Thing_ChangeTID (0,0)
M4BC G 0 A_ChangeFlag ("USESPECIAL",0)
M4BC G 0 A_StopSound (CHAN_BODY)
M4BC G 0 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
M4BC G 15 A_Scream
M4BC H 5 A_NoBlocking
M4BC IJKL 5
M4BC M -1
Stop
Raise:
M4BC M 5 A_SetScale (0.42,0.42)
M4BC L 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
M4BC KJIH 5
M4BC G 0 Thing_ChangeTID (0,151)
M4BC G 15 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("battleroid/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
M4BC E 10
Goto See
*/
Active:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
M4BC E 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
M4BC E 0 Thing_SetConversation (0,91000)
//M4BC E 0 StartConversation (91000,1)
M4BC E 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
n/a
n/a
n/a
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_CheckFlag
http://zdoom.org/wiki/Actor_pointer
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_Warp
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_StopSound
*/
ACTOR Battleroid_ataunt_Monster
{
var int user_taunt_tic;
Species "Mjolnir"
Radius 0
Height 0
Monster
-SOLID // Non-solid.
-SHOOTABLE // Non-shootable.
+NOGRAVITY
-WINDTHRUST
-PUSHABLE
+NOBLOCKMAP
+NOLIFTDROP
-SLIDESONWALLS
+NOTRIGGER
+CANNOTPUSH
+NOTELEPORT
-CANPUSHWALLS // Can't push walls!
-CANUSEWALLS // Can't use walls!
-ACTIVATEMCROSS // Can't activate 'Monster crosses' lines!
-TELESTOMP
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
+THRUACTORS
+NOTIMEFREEZE
+DONTHARMSPECIES
+NOFEAR
+CANTSEEK
-GHOST
+NOTELEOTHER
+DONTHARMCLASS
+DONTHARMSPECIES
+NOTELEFRAG
-FLOORCLIP
+DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
+FIXMAPTHINGPOS
+FOILINVUL
-SEEKERMISSILE
-COUNTKILL // Not a bad guy statistic.
+NONSHOOTABLE
+NOCLIP
States
{
Spawn:
TNT1 AA 0 A_SetUserVar ("user_taunt_tic",1000)
TNT1 A 1 A_PlaySound ("battleroid/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Idle
Idle:
TNT1 A 0 A_CheckFlag ("JUSTHIT","Death",AAPTR_MASTER)
TNT1 A 0 A_JumpIf (user_taunt_tic==0,"Death")
TNT1 A 1 A_Warp (AAPTR_MASTER,0.0,0.0,22.5,0.0,WARPF_NOCHECKPOSITION|WARPF_COPYINTERPOLATION,0)
TNT1 A 0 A_SetUserVar ("user_taunt_tic",user_taunt_tic-1)
TNT1 A 0 A_JumpIfTargetInLOS ("Idle",0.0,JLOSF_DEADNOJUMP|JLOSF_CHECKMASTER,0.0,0.0)
Goto Death //Loop
Death:
TNT1 A 1 A_StopSound
Stop
}
}/*
n/a
n/a
n/a
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_CheckFlag
http://zdoom.org/wiki/Actor_pointer
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_Warp
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_StopSound
*/
ACTOR Battleroid_ktaunt_Monster
{
var int user_taunt_tic;
Species "Mjolnir"
Radius 0
Height 0
Monster
-SOLID // Non-solid.
-SHOOTABLE // Non-shootable.
+NOGRAVITY
-WINDTHRUST
-PUSHABLE
+NOBLOCKMAP
+NOLIFTDROP
-SLIDESONWALLS
+NOTRIGGER
+CANNOTPUSH
+NOTELEPORT
-CANPUSHWALLS // Can't push walls!
-CANUSEWALLS // Can't use walls!
-ACTIVATEMCROSS // Can't activate 'Monster crosses' lines!
-TELESTOMP
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
+THRUACTORS
+NOTIMEFREEZE
+DONTHARMSPECIES
+NOFEAR
+CANTSEEK
-GHOST
+NOTELEOTHER
+DONTHARMCLASS
+DONTHARMSPECIES
+NOTELEFRAG
-FLOORCLIP
+DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
+FIXMAPTHINGPOS
+FOILINVUL
-SEEKERMISSILE
-COUNTKILL // Not a bad guy statistic.
+NONSHOOTABLE
+NOCLIP
States
{
Spawn:
TNT1 AA 0 A_SetUserVar ("user_taunt_tic",1000)
TNT1 A 1 A_PlaySound ("battleroid/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Idle
Idle:
TNT1 A 0 A_CheckFlag ("JUSTHIT","Death",AAPTR_MASTER)
TNT1 A 0 A_JumpIf (user_taunt_tic==0,"Death")
TNT1 A 1 A_Warp (AAPTR_MASTER,0.0,0.0,22.5,0.0,WARPF_NOCHECKPOSITION|WARPF_COPYINTERPOLATION,0)
TNT1 A 0 A_SetUserVar ("user_taunt_tic",user_taunt_tic-1)
TNT1 A 0 A_JumpIfTargetInLOS ("Idle",0.0,JLOSF_DEADNOJUMP|JLOSF_CHECKMASTER,0.0,0.0)
Goto Death //Loop
Death:
TNT1 A 1 A_StopSound
Stop
}
}/*
n/a
n/a
n/a
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_CheckFlag
http://zdoom.org/wiki/Actor_pointer
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_Warp
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_StopSound
*/
ACTOR Mjolnir_ataunt_Monster
{
var int user_taunt_tic;
Species "Mjolnir"
Radius 0
Height 0
Monster
-SOLID // Non-solid.
-SHOOTABLE // Non-shootable.
+NOGRAVITY
-WINDTHRUST
-PUSHABLE
+NOBLOCKMAP
+NOLIFTDROP
-SLIDESONWALLS
+NOTRIGGER
+CANNOTPUSH
+NOTELEPORT
-CANPUSHWALLS // Can't push walls!
-CANUSEWALLS // Can't use walls!
-ACTIVATEMCROSS // Can't activate 'Monster crosses' lines!
-TELESTOMP
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
+THRUACTORS
+NOTIMEFREEZE
+DONTHARMSPECIES
+NOFEAR
+CANTSEEK
-GHOST
+NOTELEOTHER
+DONTHARMCLASS
+DONTHARMSPECIES
+NOTELEFRAG
-FLOORCLIP
+DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
+FIXMAPTHINGPOS
+FOILINVUL
-SEEKERMISSILE
-COUNTKILL // Not a bad guy statistic.
+NONSHOOTABLE
+NOCLIP
States
{
Spawn:
TNT1 AA 0 A_SetUserVar ("user_taunt_tic",1000)
TNT1 A 1 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Idle
Idle:
TNT1 A 0 A_CheckFlag ("JUSTHIT","Death",AAPTR_MASTER)
TNT1 A 0 A_JumpIf (user_taunt_tic==0,"Death")
TNT1 A 1 A_Warp (AAPTR_MASTER,0.0,0.0,21.5,0.0,WARPF_NOCHECKPOSITION|WARPF_COPYINTERPOLATION,0)
TNT1 A 0 A_SetUserVar ("user_taunt_tic",user_taunt_tic-1)
TNT1 A 0 A_JumpIfTargetInLOS ("Idle",0.0,JLOSF_DEADNOJUMP|JLOSF_CHECKMASTER,0.0,0.0)
Goto Death //Loop
Death:
TNT1 A 1 A_StopSound (CHAN_BODY)
Stop
}
}/*
n/a
n/a
n/a
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_CheckFlag
http://zdoom.org/wiki/Actor_pointer
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_Warp
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_StopSound
*/
ACTOR Mjolnir_ktaunt_Monster
{
var int user_taunt_tic;
Species "Mjolnir"
Radius 0
Height 0
Monster
-SOLID // Non-solid.
-SHOOTABLE // Non-shootable.
+NOGRAVITY
-WINDTHRUST
-PUSHABLE
+NOBLOCKMAP
+NOLIFTDROP
-SLIDESONWALLS
+NOTRIGGER
+CANNOTPUSH
+NOTELEPORT
-CANPUSHWALLS // Can't push walls!
-CANUSEWALLS // Can't use walls!
-ACTIVATEMCROSS // Can't activate 'Monster crosses' lines!
-TELESTOMP
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
+THRUACTORS
+NOTIMEFREEZE
+DONTHARMSPECIES
+NOFEAR
+CANTSEEK
-GHOST
+NOTELEOTHER
+DONTHARMCLASS
+DONTHARMSPECIES
+NOTELEFRAG
-FLOORCLIP
+DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
+FIXMAPTHINGPOS
+FOILINVUL
-SEEKERMISSILE
-COUNTKILL // Not a bad guy statistic.
+NONSHOOTABLE
+NOCLIP
States
{
Spawn:
TNT1 AA 0 A_SetUserVar ("user_taunt_tic",1000)
TNT1 A 1 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Idle
Idle:
TNT1 A 0 A_CheckFlag ("JUSTHIT","Death",AAPTR_MASTER)
TNT1 A 0 A_JumpIf (user_taunt_tic==0,"Death")
TNT1 A 1 A_Warp (AAPTR_MASTER,0.0,0.0,21.5,0.0,WARPF_NOCHECKPOSITION|WARPF_COPYINTERPOLATION,0)
TNT1 A 0 A_SetUserVar ("user_taunt_tic",user_taunt_tic-1)
TNT1 A 0 A_JumpIfTargetInLOS ("Idle",0.0,JLOSF_DEADNOJUMP|JLOSF_CHECKMASTER,0.0,0.0)
Goto Death //Loop
Death:
TNT1 A 1 A_StopSound (CHAN_BODY)
Stop
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_01 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,100) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,100) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,100) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,100) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,100) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,100) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,100) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,100) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,100) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_02 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,200) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,200) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,200) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,200) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,200) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,200) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,200) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,200) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,200) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_03 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,300) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,300) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,300) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,300) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,300) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,300) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,300) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,300) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,300) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_04 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,400) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,400) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,400) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,400) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,400) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,400) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,400) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,400) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,400) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_05 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,500) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,500) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,500) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,500) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,500) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,500) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,500) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,500) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,500) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_06 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,600) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,600) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,600) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,600) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,600) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,600) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,600) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,600) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,600) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_07 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,700) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,700) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,700) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,700) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,700) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,700) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,700) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,700) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,700) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_08 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,800) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,800) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,800) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,800) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,800) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,800) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,800) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,800) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,800) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_09 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,900) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,900) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,900) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,900) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,900) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,900) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,900) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,900) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,900) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_10 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1000) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1000) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1000) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1000) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1000) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1000) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1000) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1000) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1000) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_11 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1100) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1100) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1100) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1100) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1100) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1100) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1100) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1100) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1100) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_12 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1200) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1200) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1200) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1200) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1200) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1200) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1200) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1200) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1200) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_13 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1300) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1300) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1300) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1300) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1300) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1300) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1300) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1300) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1300) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_14 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1400) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1400) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1400) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1400) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1400) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1400) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1400) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1400) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1400) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_15 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1500) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1500) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1500) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1500) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1500) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1500) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1500) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1500) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1500) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_16 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1600) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1600) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1600) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1600) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1600) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1600) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1600) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1600) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1600) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_17 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1700) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1700) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1700) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1700) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1700) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1700) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1700) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1700) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1700) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_18 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1800) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1800) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1800) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1800) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1800) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1800) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1800) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1800) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1800) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_19 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1900) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1900) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1900) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1900) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,1900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,1900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,1900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,1900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1900) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,1900) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,1900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,1900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1900) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,1900) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,1900) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_20 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2000) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2000) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2000) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2000) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2000) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,2000) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2000) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2000) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,2000) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_21 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2100) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2100) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2100) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2100) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2100) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,2100) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2100) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2100) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,2100) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_22 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2200) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2200) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2200) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2200) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2200) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,2200) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2200) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2200) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,2200) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_23 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2300) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2300) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2300) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2300) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2300) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,2300) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2300) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2300) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,2300) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_24 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2400) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2400) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2400) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2400) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2400) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,2400) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2400) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2400) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,2400) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_25 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2500) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2500) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2500) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2500) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2500) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,2500) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2500) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2500) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,2500) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_26 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2600) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2600) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2600) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2600) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2600) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,2600) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2600) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2600) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,2600) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_27 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2700) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2700) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2700) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2700) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2700) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,2700) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2700) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2700) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,2700) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_28 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2800) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2800) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2800) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2800) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2800) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,2800) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2800) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2800) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,2800) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_29 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2900) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2900) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2900) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2900) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,2900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,2900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,2900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,2900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2900) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,2900) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,2900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,2900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2900) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,2900) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,2900) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_30 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3000) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3000) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3000) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3000) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3000) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,3000) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3000) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3000) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,3000) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_31 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3100) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3100) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3100) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3100) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3100) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,3100) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3100) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3100) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,3100) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_32 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3200) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3200) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3200) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3200) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3200) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,3200) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3200) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3200) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,3200) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_33 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3300) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3300) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3300) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3300) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3300) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,3300) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3300) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3300) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,3300) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_34 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3400) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3400) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3400) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3400) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3400) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,3400) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3400) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3400) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,3400) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_35 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3500) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3500) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3500) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3500) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3500) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,3500) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3500) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3500) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,3500) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_36 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3600) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3600) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3600) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3600) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3600) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,3600) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3600) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3600) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,3600) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_37 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3700) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3700) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3700) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3700) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3700) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,3700) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3700) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3700) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,3700) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_38 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3800) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3800) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3800) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3800) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3800) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,3800) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3800) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3800) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,3800) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_39 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3900) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3900) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3900) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3900) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,3900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,3900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,3900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,3900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3900) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,3900) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,3900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,3900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3900) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,3900) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,3900) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_40 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4000) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4000) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4000) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4000) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4000) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,4000) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4000) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4000) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,4000) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_41 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4100) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4100) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4100) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4100) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4100) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,4100) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4100) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4100) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,4100) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_42 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4200) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4200) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4200) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4200) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4200) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,4200) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4200) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4200) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,4200) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_43 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4300) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4300) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4300) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4300) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4300) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,4300) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4300) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4300) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,4300) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_44 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4400) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4400) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4400) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4400) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4400) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,4400) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4400) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4400) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,4400) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_45 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4500) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4500) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4500) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4500) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4500) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,4500) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4500) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4500) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,4500) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_46 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4600) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4600) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4600) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4600) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4600) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,4600) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4600) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4600) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,4600) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_47 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4700) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4700) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4700) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4700) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4700) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,4700) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4700) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4700) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,4700) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_48 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4800) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4800) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4800) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4800) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4800) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,4800) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4800) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4800) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,4800) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_49 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4900) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4900) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4900) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4900) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,4900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,4900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,4900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,4900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4900) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,4900) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,4900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,4900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4900) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,4900) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,4900) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_50 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5000) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5000) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5000) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5000) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5000) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,5000) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5000) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5000) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,5000) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_51 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5100) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5100) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5100) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5100) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5100) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,5100) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5100) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5100) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,5100) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_52 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5200) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5200) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5200) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5200) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5200) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,5200) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5200) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5200) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,5200) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_53 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5300) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5300) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5300) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5300) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5300) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,5300) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5300) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5300) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,5300) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_54 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5400) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5400) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5400) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5400) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5400) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,5400) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5400) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5400) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,5400) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_55 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5500) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5500) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5500) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5500) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5500) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5500) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5500) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5500) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5500) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,5500) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5500) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5500) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5500) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5500) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,5500) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_56 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5600) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5600) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5600) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5600) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5600) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5600) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5600) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5600) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5600) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,5600) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5600) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5600) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5600) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5600) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,5600) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_57 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5700) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5700) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5700) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5700) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5700) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5700) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5700) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5700) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5700) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,5700) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5700) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5700) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5700) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5700) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,5700) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_58 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5800) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5800) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5800) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5800) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5800) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5800) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5800) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5800) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5800) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,5800) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5800) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5800) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5800) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5800) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,5800) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_59 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5900) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5900) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5900) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5900) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,5900) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,5900) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,5900) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,5900) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5900) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,5900) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,5900) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,5900) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5900) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,5900) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,5900) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_60 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6000) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6000) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6000) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6000) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6000) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6000) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6000) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6000) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6000) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,6000) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,6000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,6000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,6000) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,6000) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6000) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6000) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,6000) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_61 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6100) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6100) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6100) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6100) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6100) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6100) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6100) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6100) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6100) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,6100) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,6100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,6100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,6100) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,6100) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6100) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6100) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,6100) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_62 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6200) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6200) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6200) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6200) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6200) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6200) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6200) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6200) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6200) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,6200) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,6200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,6200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,6200) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,6200) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6200) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6200) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,6200) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_63 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6300) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6300) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6300) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6300) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6300) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6300) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6300) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6300) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6300) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,6300) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,6300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,6300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,6300) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,6300) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6300) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6300) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,6300) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Marine
THE MARINES ARE THE MAIN FORCE OF THE TERRAN ARMY.
THEY HAVE BEEN TRAINED IN ALL KNOWN FORMS OF WARFARE AND CAN HANDLE NEARLY ANY WEAPON...
SO WHY DO THEY ALL WALK AROUND GETTING SHOT AND CARRY THE SAME DAMN PULSE RIFFLE AROUND?!?
'CAUSE THEY LIKE TOO...
THEY HAVE HIGH TECH ARMOR AND AND ENVIRONMENTALY SEALED CONTAINMENT.
ALSO, THEY HAVE BUILT IN RADAR AND SMART LINK INTERFACES THAT INABLE THEM TO USE NEAR LIMITLESS TECH.
ANOTHER FEATURE BUILT IN IS THE ANIT-SHOCK BOOSTS ON THEIR BACKS.
THESE KEEP THEM FROM LOOSING FOOTING AND GETTING THROWN OFF THE PLANET BY THE OMEGA CANNON'S KICK BACK...
YOU THE PLAYER ARE ONE OF THESE WOOP @$$ MACHINES.
SO GO TAKE PAIN AND LIKE IT.
THEN HAND IT RIGHT BACK TO THAT @#$%ING BOB WHO KEEPS YELLING FOR YOU TO GET OUT OF THE WAY AND SHOOTING YOU IN THE BACK ON ACCIDENT!!
http://bighouse.bungie.org/red/creatures/marine.html
Changes?
Less of PainChance.
Continous repeat fire by probability only (like variable ammo quantity).
Since this is more of a range limit in how far a rail can be fired, I guess I will add in more men into the count.
http://zdoom.org/wiki/Classes:ScriptedMarine
http://zdoom.org/wiki/Classes:LiveStick
http://zdoom.org/wiki/Classes:SwitchableDecoration
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/Thing_ChangeTID
http://zdoom.org/wiki/Thing_Hate
http://zdoom.org/wiki/A_ClearTarget
http://zdoom.org/wiki/A_NoiseAlert
http://zdoom.org/wiki/A_JumpIf
http://zdoom.org/wiki/DECORATE_expressions
http://zdoom.org/wiki/A_LookEx
http://zdoom.org/wiki/A_Chase
http://zdoom.org/wiki/User_variable
http://zdoom.org/wiki/A_SetUserVar
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/A_FaceTarget
http://zdoom.org/wiki/A_ChangeFlag
http://zdoom.org/wiki/A_JumpIfTargetInLOS
http://zdoom.org/wiki/A_CustomRailgun
http://zdoom.org/wiki/A_MonsterRefire
http://zdoom.org/wiki/A_StopSound
http://zdoom.org/wiki/A_SetScale
http://zdoom.org/wiki/Thing_SetConversation
http://zdoom.org/wiki/StartConversation
*/
ACTOR Ally_Mjolnir_64 : SwitchableDecoration //ScriptedMarine 9100
{
var int user_First_Spawn_State_Cycle_Complete;
/*
Game Doom
SpawnID 151
*/
Health 100
Radius 12 //16
Height 43 //56
Mass 100
Speed 8
PainChance 80 //160
Monster
-COUNTKILL
/*
Translation 0
Damage (0*random(1,8))
*/
DeathSound "mjolnir/death"
PainSound "mjolnir/pain"
-SOLID // Non-solid. // from the original LiveStick 26 ACTOR
-WINDTHRUST
-PUSHABLE
-DONTFALL
-MOVEWITHSECTOR
-NOLIFTDROP
-SLIDESONWALLS
-NODROPOFF
+FRIENDLY
+JUMPDOWN
+MISSILEEVENMORE
+MISSILEMORE
+CANNOTPUSH
-NOTELEPORT
-CANTLEAVEFLOORPIC
-TELESTOMP
-STAYMORPHED
+CANBLAST
+NOBLOCKMONST // Ally monsters got to be able to cross those monster blocking lines.
-NOTARGET
-NOINFIGHTING
-NOTIMEFREEZE
-NOFEAR
-CANTSEEK
-SEEINVISIBLE
-NORADIUSDMG
-DONTBLAST
-DONTMORPH
-DONTSQUASH
-NOTELEOTHER
-DONTHARMCLASS
-DONTHARMSPECIES // Projectiles are not to hurt Species property value.
-DONTRIP
-NOTELEFRAG
+FLOORCLIP
-DONTGIB
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
-FIXMAPTHINGPOS
-NODAMAGETHRUST
-BLOODSPLATTER
+FOILINVUL
-PIERCEARMOR
+FORCERADIUSDMG
-FORCEPAIN
-DROPOFF
-ALWAYSFAST
+USESPECIAL
+TELEPORT // Can teleport.
+BLASTED
//ConversationID 91000
DamageFactor "Mjolnir",0
FastSpeed 16
Species "Mjolnir"
Activation THINGSPEC_TriggerActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial|THINGSPEC_Activate|THINGSPEC_Switch
Scale 0.35
BloodType "Cacoon_Blood","Cacoon_BloodSplatter",0
//ActiveSound "mjolnir/active"
CrushPainSound "mjolnir/crush"
//SeeSound "mjolnir/sight"
Obituary "%o was shot to ripples by a mjolnir."
DropItem "Shotgun",255,1
DropItem "Mjolnir_Medikit",128,1 //25
DropItem "Mjolnir_Drops",255,1
DropItem "Custom_Durandal_Orb",64,1 //255,1
DropItem "Ally_Battleroid_Kit",128,1
DropItem "Ally_Mjolnir_Kit",192,1
States
{
Spawn:
MJOL G 1 ACS_NamedExecuteWithResult ("Monster_-_Ally_Teleport_TID_Check_Script",0,0,0)
Goto Idle
Idle:
MJOL AA 0 Thing_ChangeTID (0,151)
//MJOL A 0 Thing_Hate (0,551,6)
MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See") //"Thing_Hate_Identity551")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (1,"Bull_Session")
Loop
Bull_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Goto Spawn
/*
Thing_Hate_Identity551:
MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
Goto See
*/
See:
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6400) //1510)
//MJOL A 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL A 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See0
See0:
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6400) //1510)
//MJOL B 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL B 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See1
See1:
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6400) //1510)
//MJOL C 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL C 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
Goto See2
See2:
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6400) //1510)
//MJOL D 0 A_GiveInventory ("Thing_Hate_Identity551",1,AAPTR_TARGET)
MJOL D 4 A_Chase ("Missile","Missile",CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
MJOL D 0 A_Jump (4,"Chase_Session")
MJOL D 0 A_Jump (64,1)
Goto See
MJOL D 0 A_ClearTarget
Goto No_Target_Yet //See
Chase_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/sight",CHAN_BODY,1.0,0,ATTN_NORM)
Goto See
No_Target_Yet:
MJOL A 0 Thing_ChangeTID (0,151)
//MJOL A 0 A_ClearTarget
MJOL A 0 NoiseAlert (151,151)
MJOL A 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL A 0 Thing_ChangeTID (0,6400) //1510)
MJOL A 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL A 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL B 0 Thing_ChangeTID (0,151)
MJOL B 0 NoiseAlert (151,151)
MJOL B 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL B 0 Thing_ChangeTID (0,6400) //1510)
MJOL B 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See0")
MJOL B 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL C 0 Thing_ChangeTID (0,151)
MJOL C 0 NoiseAlert (151,151)
MJOL C 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL C 0 Thing_ChangeTID (0,6400) //1510)
MJOL C 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See1")
MJOL C 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 Thing_ChangeTID (0,151)
MJOL D 0 NoiseAlert (151,151)
MJOL D 0 A_JumpIf (user_First_Spawn_State_Cycle_Complete!=1,2)
MJOL D 0 Thing_ChangeTID (0,6400) //1510)
MJOL D 0 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See2")
MJOL D 4 A_Chase (0,0,CHF_NIGHTMAREFAST)
MJOL D 0 A_SetUserVar ("user_First_Spawn_State_Cycle_Complete",1)
//MJOL G 10 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"See")
MJOL D 0 A_Jump (4,"Wander_Session")
Loop
Wander_Session:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 10 A_PlaySound ("mjolnir/active",CHAN_BODY,1.0,0,ATTN_NORM)
Goto No_Target_Yet
Teleport_to_Ally_Teleport_Destination:
MJOL G 0 A_ClearTarget
Goto See
Missile:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ataunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ataunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6400) //1510)
MJOL G 4 A_FaceTarget (0,0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 0 Thing_ChangeTID (0,6400) //1510)
MJOL E 4 A_FaceTarget (0,0)
Goto Rails
Rails:
MJOL E 0 A_ChangeFlag ("NOPAIN",1)
MJOL E 0 A_JumpIfTargetInLOS ("Target_In_Sight00",90,0,0,0)
Goto Nothing_In_Sight00
Target_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,6400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,6400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Nothing_In_Sight00:
MJOL F 0 Thing_ChangeTID (0,151)
MJOL F 0 NoiseAlert (151,151)
MJOL F 0 Thing_ChangeTID (0,6400) //1510)
MJOL FFF 0 A_CustomRailgun (5*random(1,3),-7,"white","white",RGF_SILENT|RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL F 6 bright A_CustomRailgun (10*random(2,6),-7,"white","white",RGF_FULLBRIGHT,1,0,/*"BulletPuff"*/"Mjolnir_Particle",2.8,2.8,8192,35,20.0,20.0,"Mjolnir_Particle",0.0)
MJOL E 0 Thing_ChangeTID (0,151)
MJOL E 0 NoiseAlert (151,151)
MJOL E 4 Thing_ChangeTID (0,6400) //1510) //A_MonsterRefire (127,"Wind_Down")
MJOL G 0 A_Jump (64,"Battle_Chatter")
MJOL G 0 A_Jump (192,"Rails")
Goto Wind_Down
Wind_Down:
MJOL G 0 A_Jump (192,6)
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6400) //1510)
MJOL G 0 A_ChangeFlag ("NOPAIN",0)
MJOL G 4 A_ChangeFlag ("INCOMBAT",0)
MJOL G 0 A_ClearTarget
//MJOL G 24 A_LookEx (LOF_NOSOUNDCHECK,0,0,0,180,"Missile")
Goto See //Thing_Hate_Identity551
Battle_Chatter:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
//MJOL G 0 A_PlaySound ("mjolnir/ktaunt",CHAN_BODY,1.0,0,ATTN_NORM)
MJOL G 0 A_SpawnItemEx ("Mjolnir_ktaunt_Monster",0.0,0.0,21.5,0.0,0.0,0.0,0.0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,0)
Goto Rails
Pain:
MJOL GG 0 A_ChangeFlag ("JUSTHIT",1)
MJOL G 0 A_ChangeFlag ("JUSTHIT",0)
MJOL G 0 A_StopSound (CHAN_BODY)
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 0 Thing_ChangeTID (0,6400) //1510)
MJOL G 4 A_Pain
MJOL G 0 Thing_ChangeTID (0,151)
MJOL G 0 NoiseAlert (151,151)
MJOL G 4 Thing_ChangeTID (0,6400) //1510)
Goto See //Thing_Hate_Identity551
Death:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_Scream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
XDeath:
MJOL H 0 Thing_ChangeTID (0,0)
MJOL H 0 A_ChangeFlag ("USESPECIAL",0)
MJOL H 0 A_StopSound (CHAN_BODY)
MJOL H 10 //A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
MJOL I 10 A_PlaySound ("mjolnir/xdeath",CHAN_BODY,1.0,0,ATTN_NORM) //A_XScream
MJOL J 10 A_NoBlocking
MJOL KLM 10
MJOL N -1
Stop
Raise:
MJOL N 5 A_SetScale (0.35,0.35)
MJOL M 5 A_PlaySound ("misc/gibbed",0,1.0,0,ATTN_NORM)
MJOL LKJIH 5
MJOL A 0 Thing_ChangeTID (0,151)
MJOL A 0 A_ChangeFlag ("USESPECIAL",1)
Goto See
Crush:
POL5 A 0 Thing_ChangeTID (0,0)
POL5 A 0 A_ChangeFlag ("USESPECIAL",0)
POL5 A 0 A_StopSound (CHAN_BODY)
//POL5 A 0 A_GiveInventory ("Thing_Love_Identity551",1,AAPTR_TARGET)
POL5 A 0 A_SetScale (1.0,1.0)
POL5 A 0 A_PlaySound ("mjolnir/crunched",CHAN_BODY,1.0,0,ATTN_NORM)
POL5 A -1 A_NoBlocking
Stop
/*
Greetings:
MJOL G 10
Goto See
*/
Active:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
Inactive:
MJOL G 0 //A_Jump (256,"ConversationID_91000")
Goto See
ConversationID_91000:
MJOL G 0 Thing_SetConversation (0,91000)
//MJOL G 0 StartConversation (91000,1)
MJOL G 0 A_ChangeFlag ("USESPECIAL",0)
Goto See
}
}/*
Health
A Health item adds a certain amount to the player's health points.
Items of this type are always effective when picked up.
They cannot be placed in the inventory; to have health items in inventory, use HealthPickup.
Health is never used directly.
This class is only used as a base class for predefined items (like Doom's Stim pack or for items defined in DECORATE.
http://zdoom.org/wiki/Classes:Health
Applicable health for the player.
http://zdoom.org/wiki/Classes:Health
*/
ACTOR Portable_Health_Kit_Health : Health
{
Inventory.Amount 1
Inventory.MaxAmount 100
Inventory.InterHubAmount 100
+INVENTORY.QUIET
+INVENTORY.PERSISTENTPOWER
+INVENTORY.IGNORESKILL
+INVENTORY.NOSCREENFLASH
States
{
Spawn:
TNT1 A -1
Stop
}
}/*
Fireteam
A fireteam is a small military unit of infantry.
It is the second smallest unit in the militaries that use it (smallest are support teams such as machine gun teams, mortar teams, sniper teams, or military working dog teams) and is the primary unit upon which infantry organization is based in the British Army, Royal Air Force Regiment, Royal Marines, United States Army, United States Marine Corps, United States Air Force Security Forces, Canadian Forces, and Australian Army.
Fireteams generally consist of four or fewer soldiers and are usually grouped by two or three teams into a squad or section.
http://en.wikipedia.org/wiki/Fireteam
http://zdoom.org/wiki/CustomInventory
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/A_PlaySound
*/
ACTOR Ally_Battleroid_Kit : CustomInventory
{
Tag "Ally Battleroid Kit (1 Ally Battleroid)"
Scale 0.50
Inventory.Amount 1 //1
Inventory.MaxAmount 4 //1
Inventory.InterHubAmount 4 //1
Inventory.Icon "M4BCO0"
Inventory.PickupMessage "Picked up an ally battleroid kit."
Inventory.PickupSound "misc/i_pkup"
Inventory.UseSound "misc/w_pkup"
+INVENTORY.INVBAR
+INVENTORY.PERSISTENTPOWER
+INVENTORY.IGNORESKILL
+INVENTORY.NOSCREENFLASH
States
{
Spawn:
M4BC N -1
Stop
Use:
//M4BC N 1 A_SpawnItemEx ("Ally_Battleroid",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0,151)
M4BC N 1 ACS_NamedExecuteWithResult ("Monster_-_Doom_-_Terran_-_Player_Check_Before_Player_Deploy_Ally_Battleroid_Check_Script",0,0,0)
M4BC N 0 A_PlaySound ("battleroid/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Stop
}
}/*
Fireteam
A fireteam is a small military unit of infantry.
It is the second smallest unit in the militaries that use it (smallest are support teams such as machine gun teams, mortar teams, sniper teams, or military working dog teams) and is the primary unit upon which infantry organization is based in the British Army, Royal Air Force Regiment, Royal Marines, United States Army, United States Marine Corps, United States Air Force Security Forces, Canadian Forces, and Australian Army.
Fireteams generally consist of four or fewer soldiers and are usually grouped by two or three teams into a squad or section.
http://en.wikipedia.org/wiki/Fireteam
http://zdoom.org/wiki/CustomInventory
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/A_PlaySound
*/
ACTOR Ally_MADD_Kit : CustomInventory
{
Tag "Ally MADD Kit (1 Ally MADD)"
Scale 0.50
Inventory.Amount 1 //1
Inventory.MaxAmount 2 //1
Inventory.InterHubAmount 2 //1
Inventory.Icon "MADDO0"
Inventory.PickupMessage "Picked up an ally MADD kit."
Inventory.PickupSound "misc/i_pkup"
Inventory.UseSound "misc/w_pkup"
+INVENTORY.INVBAR
+INVENTORY.PERSISTENTPOWER
+INVENTORY.IGNORESKILL
+INVENTORY.NOSCREENFLASH
States
{
Spawn:
MADD N -1
Stop
Use:
//MADD N 1 A_SpawnItemEx ("Ally_MADD",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0,151)
MADD N 1 ACS_NamedExecuteWithResult ("Monster_-_Doom_-_Terran_-_Player_Check_Before_Player_Deploy_Ally_MADD_Check_Script",0,0,0)
MADD N 0 A_PlaySound ("madd/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Stop
}
}/*
Fireteam
A fireteam is a small military unit of infantry.
It is the second smallest unit in the militaries that use it (smallest are support teams such as machine gun teams, mortar teams, sniper teams, or military working dog teams) and is the primary unit upon which infantry organization is based in the British Army, Royal Air Force Regiment, Royal Marines, United States Army, United States Marine Corps, United States Air Force Security Forces, Canadian Forces, and Australian Army.
Fireteams generally consist of four or fewer soldiers and are usually grouped by two or three teams into a squad or section.
http://en.wikipedia.org/wiki/Fireteam
http://zdoom.org/wiki/CustomInventory
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
http://zdoom.org/wiki/A_PlaySound
*/
ACTOR Ally_Mjolnir_Kit : CustomInventory
{
Tag "Ally Mjolnir Kit (1 Ally Mjolnir)"
Scale 0.50
Inventory.Amount 1 //1
Inventory.MaxAmount 2 //1
Inventory.InterHubAmount 2 //1
Inventory.Icon "MJOLU0"
Inventory.PickupMessage "Picked up an ally mjolnir kit."
Inventory.PickupSound "misc/i_pkup"
Inventory.UseSound "misc/w_pkup"
+INVENTORY.INVBAR
+INVENTORY.PERSISTENTPOWER
+INVENTORY.IGNORESKILL
+INVENTORY.NOSCREENFLASH
States
{
Spawn:
MJOL T -1
Stop
Use:
//MJOL T 1 A_SpawnItemEx ("Ally_Mjolnir",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0,151)
MJOL T 1 ACS_NamedExecuteWithResult ("Monster_-_Doom_-_Terran_-_Player_Check_Before_Player_Deploy_Ally_Mjolnir_Check_Script",0,0,0)
MJOL T 0 A_PlaySound ("mjolnir/ambient",CHAN_BODY,1.0,0,ATTN_NORM)
Stop
}
}/*
TeleportDest2
A teleport destination, or derived actor, is where actors are moved by the Teleport line specials.
This destination can be given a height (Z) value and be used to teleport over a pit for a trap, a 3D floor, a bridge thing or similar solid obstacle.
http://zdoom.org/wiki/Classes:TeleportDest2
http://zdoom.org/wiki/CustomInventory
http://zdoom.org/wiki/A_SpawnItemEx
http://zdoom.org/wiki/ACS_NamedExecuteWithResult
*/
ACTOR Ally_Teleport_Rally_Kit : CustomInventory
{
Tag "Ally Teleport Rally Kit (1 Ally Teleport Rally)"
Inventory.Amount 1 //1
Inventory.MaxAmount 1 //1
Inventory.InterHubAmount 1 //1
/*
Inventory.Icon "TNT1A0"
Inventory.PickupMessage "Picked up an ally teleport rally kit."
*/
Inventory.PickupSound "misc/i_pkup"
Inventory.UseSound "misc/teleport"
+INVENTORY.QUIET
-INVENTORY.AUTOACTIVATE
+INVENTORY.UNDROPPABLE
-INVENTORY.INVBAR
+INVENTORY.PERSISTENTPOWER
+INVENTORY.ALWAYSPICKUP
+INVENTORY.FANCYPICKUPSOUND
+INVENTORY.BIGPOWERUP
+INVENTORY.KEEPDEPLETED
+INVENTORY.IGNORESKILL
+INVENTORY.UNTOSSABLE
+INVENTORY.NOSCREENFLASH
States
{
Spawn:
TNT1 A -1
Stop
Use:
TNT1 AAAAAAAA 0 A_SpawnItemEx ("Ally_Teleport_Rally",frandom(-90.0,90.0),frandom(-90.0,90.0),frandom(-90.0,90.0),0.0,0.0,0.0,frandom(0.0,360.0),SXF_NOCHECKPOSITION,0,9044)
//TNT1 A 0 ACS_NamedExecuteWithResult ("Monster_-_Doom_-_Terran_-_Ally_Disarm_Before_Ally_Teleport_Rally_Check_Script",0,0,0)
TNT1 A 0 ACS_NamedExecuteWithResult ("Monster_-_Doom_-_Terran_-_Ally_Disarm_Before_Ally_Teleport_Player_Check_Script",0,0,0)
TNT1 A 1 A_SpawnItemEx ("Ally_Teleport_Rally_Kit",0.0,0.0,0.0,0.0,0.0,0.0,frandom(0.0,360.0),0,0,0)
Stop
}
}/*
RandomSpawner
The RandomSpawner is a special actor which randomly spawns one of a series of actors specified with the DropItem property in its DECORATE code.
The RandomSpawner should not be used directly. Instead, authors should derive a new class from the actor and specify the actors they wish to be randomly spawned in the code of the new actor.
In addition to specifying the actors that may spawn, two optional parameters may be specified for each entry in the list.
The first is an integer used to specify the spawn chance of any given monster in the list, assuming it is selected to spawn, with 0 being never and 255 being always (default is 255).
The second number specifies this actor's "weight" or chance of spawning versus other actors in the list (default is 1).
It is possible for RandomSpawners to spawn other RandomSpawners.
However, to prevent infinite recursion loops, an error marker will instead be created if more than 32 random spawners get nested in such a way.
http://zdoom.org/wiki/Classes:RandomSpawner
http://zdoom.org/wiki/Classes:RandomSpawner
*/
ACTOR Mjolnir_Drops : RandomSpawner //1111
{
DropItem "StimPack",255,1
DropItem "Cell",255,1
DropItem "Clip",255,1
DropItem "Shell",255,1
}/*
CustomInventory
CustomInventory items are special items that allow some very primitive scripted functionality using its states.
The base class CustomInventory is never used directly.
It is always the base class for items defined in DECORATE.
http://zdoom.org/wiki/CustomInventory
A medikit substitute work around.
Heals up to 25 health rating points.
Used up when picked up.
http://zdoom.org/wiki/CustomInventory
http://zdoom.org/wiki/Classes:Medikit
http://zdoom.org/wiki/A_GiveInventory
http://zdoom.org/wiki/Actor_pointer#Custom_scripting
*/
ACTOR Mjolnir_Medikit : CustomInventory //Medikit : Health 2012
{
//ConversationID 8598
Tag "Medikit (25 health)"
Inventory.Amount 1 //25
Inventory.MaxAmount 1 //25
Inventory.InterHubAmount 1 //25
Inventory.Icon "MEDIA0"
Inventory.PickupMessage "Picked up a medikit."
Inventory.PickupSound "misc/i_pkup"
Inventory.UseSound "*pain100"
+INVENTORY.INVBAR
+INVENTORY.PERSISTENTPOWER
+INVENTORY.IGNORESKILL
-INVENTORY.NOSCREENFLASH
//Scale 0.25
States
{
Spawn:
MEDI A -1
Stop
Pickup:
MEDI A 1 A_GiveInventory ("Portable_Health_Kit_Health",25,AAPTR_DEFAULT)
Stop
}
}/*
Mjolnir Particle
Reference from Thor, the Norse Hammer God.
The hammer strikes down on you!
n/a
http://zdoom.org/wiki/Classes:BFGExtra
*/
ACTOR MADD_Particle
{
Damage 0 //3
Speed 0
FastSpeed 0
Radius 20
Height 16
DeathSound "boombox/silence"
SeeSound "boombox/silence"
Scale 0.06
Decal "Mjolnir_Burns"
DamageType "Mjolnir"
Projectile
States
{
Spawn:
MJOL V 8 bright
Goto Death
Death:
MJOL WXY 8 bright
Stop
}
}/*
Mjolnir Particle
Reference from Thor, the Norse Hammer God.
The hammer strikes down on you!
n/a
http://zdoom.org/wiki/Classes:BFGExtra
*/
ACTOR Mjolnir_Particle
{
Damage 0 //3
Speed 0
FastSpeed 0
Radius 20
Height 16
DeathSound "boombox/silence"
SeeSound "boombox/silence"
Scale 0.07
Decal "Mjolnir_Burns"
DamageType "Mjolnir"
Projectile
States
{
Spawn:
MJOL P 8 bright
Goto Death
Death:
MJOL QRS 8 bright
Stop
}
}/*
n/a
n/a
n/a
http://zdoom.org/wiki/A_Warp
http://zdoom.org/wiki/Actor_pointers
http://zdoom.org/wiki/A_Jump
http://zdoom.org/wiki/A_SpawnItemEx
*/
ACTOR Skull_Fog_Generator
{
Species "Skeleton"
Radius 0
Height 0
Obituary "%o was fogged by skulls."
Projectile //?
-SOLID
-SHOOTABLE
+NOGRAVITY
-WINDTHRUST
-PUSHABLE
+NOBLOCKMAP
+NOLIFTDROP
-SLIDESONWALLS
+NOTRIGGER
+CANNOTPUSH
+NOTELEPORT
-ACTIVATEIMPACT //?
-ACTIVATEPCROSS //?
-TELESTOMP
+THRUACTORS
+NOTIMEFREEZE
+DONTHARMSPECIES
+NOFEAR
+CANTSEEK
-GHOST
+NOTELEOTHER
+DONTHARMCLASS
+DONTHARMSPECIES
+NOTELEFRAG
-FLOORCLIP
+DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
+FIXMAPTHINGPOS
//-MISSILE //?
+FOILINVUL
-SEEKERMISSILE
+NONSHOOTABLE
States
{
Spawn:
TNT1 A 0 A_Warp (AAPTR_TARGET,0.0,0.0,0.0,0.0,WARPF_NOCHECKPOSITION,0)
TNT1 A 0 A_Jump (255,2,3) //,4)
TNT1 A 1 fast A_Jump (64,"Death")
Loop
TNT1 A 1 fast A_Jump (64,"Spawn")
Goto Spawn+3
TNT1 A 1 fast A_SpawnItemEx ("Skull_Fog",frandom(-256.0,256.0),frandom(-256.0,256.0),frandom(-256.0,256.0),0.0,0.0,0.0,frandom(0.0,360.0),0,0,0)
Loop
TNT1 AA 1 fast A_SpawnItemEx ("Skull_Fog",frandom(-256.0,256.0),frandom(-256.0,256.0),frandom(-256.0,256.0),0.0,0.0,0.0,frandom(0.0,360.0),0,0,0)
Loop
Death:
TNT1 A 1 fast
Stop
}
}/*
TeleportDest2
A teleport destination, or derived actor, is where actors are moved by the Teleport line specials.
This destination can be given a height (Z) value and be used to teleport over a pit for a trap, a 3D floor, a bridge thing or similar solid obstacle.
http://zdoom.org/wiki/Classes:TeleportDest2
Ally Teleport Rally.
Teleport beacon to teleport the given actors with the proper thing identification number.
http://zdoom.org/wiki/Classes:TeleportDest2
http://zdoom.org/wiki/Thing_ChangeTID
*/
ACTOR Ally_Teleport_Rally : TeleportDest2
{
+NOGRAVITY
+NOLIFTDROP
+NOTELEPORT
-TELESTOMP
+NOBLOCKMONST
+THRUACTORS
+NOTIMEFREEZE
+DONTMORPH
+DONTSQUASH
+NOTELEOTHER
+NOTELEFRAG
+INVISIBLE
+NOBLOOD
+SPAWNFLOAT
-DONTSPLASH
-DONTOVERLAP
+RANDOMIZE
+FIXMAPTHINGPOS
-NEVERFAST
States
{
Spawn:
TNT1 AA 0 Thing_ChangeTID (0,9044)
Stop
}
}/*
CustomInventory
CustomInventory items are special items that allow some very primitive scripted functionality using its states.
The base class CustomInventory is never used directly.
It is always the base class for items defined in DECORATE.
http://zdoom.org/wiki/CustomInventory
http://zdoom.org/wiki/Classes:PowerupGiver
http://zdoom.org/wiki/CustomInventory
http://zdoom.org/wiki/Classes:InvulnerabilitySphere
*/
ACTOR Custom_Durandal_Orb : PowerupGiver //CustomInventory
{
ConversationID 20220
Tag "Durandal Orb (1 InvulnerabilitySphere)"
Inventory.Amount 1 //1
Inventory.MaxAmount 1 //1
Inventory.InterHubAmount 1 //1
Inventory.Icon "DURAI0"
Inventory.PickupMessage "Picked up an Durandal orb."
Inventory.PickupSound "misc/i_pkup"
Inventory.UseSound "misc/p_pkup"
Powerup.Color "InverseMap"
Powerup.Type "Invulnerable"
+INVENTORY.INVBAR
+INVENTORY.PERSISTENTPOWER
+INVENTORY.IGNORESKILL
+INVENTORY.NOSCREENFLASH
RenderStyle "Add"
States
{
Spawn:
DURA ABCDEFGHGFEDCB 6 Bright
Loop
Use:
TNT1 A 1
Stop
}
}/*
RocketSmokeTrail
A puff of smoke used by Doom's Rocket projectile.
Automatically spawned by any actor which has +ROCKETTRAIL as a flag.
http://zdoom.org/wiki/Classes:RocketSmokeTrail
http://zdoom.org/wiki/Classes:RocketSmokeTrail
http://zdoom.org/wiki/A_FadeTo
*/
ACTOR Cultist_Flame_Smoke //RocketSmokeTrail
{
RenderStyle "Translucent"
Alpha 0.4
VSpeed 1
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
+RANDOMIZE
+NOTELEPORT
States
{
Spawn:
RSMK ABCDE 5 A_FadeTo (0.0,0.1,1)
Stop
}
}/*
BulletPuff
The puff spawned when a hitscan attack (i.e. bullet) impacts a wall in Doom and its derivatives.
New puffs, incorporating custom sound effects, damagetypes and other behaviour, can be created in DECORATE by inheriting from this class.
http://zdoom.org/wiki/Classes:BulletPuff
http://zdoom.org/wiki/Classes:BulletPuff
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_HideThing
*/
ACTOR RED_BulletPuff //BulletPuff
{
/*
Game Doom
SpawnID 131
*/
+NOBLOCKMAP
+NOGRAVITY
+ALLOWPARTICLES
+RANDOMIZE
RenderStyle "Translucent"
Alpha 0.5
VSpeed 0 //1
Mass 5
+PUFFONACTORS
Speed 100
Radius 2
Height 2
States
{
Spawn: // BloodType Classes (BulletPuff Spawn state requires 2 frames [tick can be 0] and a A_SpawnItemEx statement in the Blood class)
RICC AA 0 bright A_PlaySound ("red_gore/bullet_missing_flesh",CHAN_BODY,1.0,0,ATTN_NORM)
RICC A 4 bright
RICC BCDEFG 4
Stop
Death: // Walls
RICC A 4 bright A_PlaySound ("red_gore/bullet_missing_flesh",CHAN_BODY,1.0,0,ATTN_NORM)
RICC BCDEFG 4
Stop
XDeath: // Bleedable Objects (BulletPuff XDeath state requires actor flag +PUFFONACTORS)
RICC A 0 A_HideThing
RICC A 4 bright A_PlaySound ("red_gore/bullet_hitting_flesh",CHAN_BODY,1.0,0,ATTN_NORM)
RICC BCDEFG 4
Stop
Crash: // Death + Floors || Non-bleedable Objects
RICC A 4 bright A_PlaySound ("red_gore/bullet_missing_flesh",CHAN_BODY,1.0,0,ATTN_NORM)
RICC BCDEFG 4
Stop
}
}/*
Blood
The blood splat spawned when an actor is hit and is able to bleed.
In IWADs other than Doom's, the blood sprites are actually named BLOD* and are renamed at load-time by ZDoom.
http://zdoom.org/wiki/Classes:Blood
Blood actor class that (should) take the role of BulletPuff actor class! Includes random bouncing metal bits!
The wonders!
http://zdoom.org/wiki/Classes:Blood
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_CustomMissile
*/
ACTOR Marathon_Bit //Blood
{
//SpawnID 130
Mass 5
+NOBLOCKMAP
+NOTELEPORT
-ALLOWPARTICLES
States
{
Spawn:
MABI AA 0 A_PlaySound ("marathon_gore/bullet_hitting_plate",CHAN_BODY,1.0,0,ATTN_NORM)
MABI AA 0 A_CustomMissile ("RED_BulletPuff",0,0,frandom(-180.0,180.0),CMF_AIMDIRECTION,frandom(-90.0,90.0))
MABI ABCD 8 //A_CustomMissile ("RED_BulletPuff",0,0,frandom(-180.0,180.0),CMF_AIMDIRECTION,frandom(-90.0,90.0))
Stop
Spray:
SPRY ABCDEF 3
SPRY G 2
Stop
}
}/*
Blood
The blood splat spawned when an actor is hit and is able to bleed.
In IWADs other than Doom's, the blood sprites are actually named BLOD* and are renamed at load-time by ZDoom.
http://zdoom.org/wiki/Classes:Blood
http://zdoom.org/wiki/Classes:Blood
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_CheckFloor
*/
ACTOR Cacoon_Blood //Blood
{
//SpawnID 130
Mass 5
-NOBLOCKMAP
+NOTELEPORT
-ALLOWPARTICLES
-NOGRAVITY
+MOVEWITHSECTOR
+FLOORCLIP
+RANDOMIZE
+PUFFONACTORS
VSpeed 0
Decal "BloodSmear"
States
{
Spawn:
BLAD BB 0 A_PlaySound ("red_gore/bullet_hitting_flesh",CHAN_BODY,1.0,0,ATTN_NORM)
BLAD BA /*DC*/ 8 A_CheckFloor ("Crash")
Goto Crash_to_Surface //Stop
Crash_to_Surface:
BLAD A 8 A_CheckFloor ("Crash")
Loop
Spray:
SPRY ABCDEF 3
SPRY G 2
Stop
Death: // Walls
BLAD A 8 A_CheckFloor ("Crash")
Loop
XDeath: // Bleedable Objects (BulletPuff XDeath state requires actor flag +PUFFONACTORS)
BLAD A 8 A_CheckFloor ("Crash")
Loop
Crash: // Death + Floors || Non-bleedable Objects
ALSL AA 0 A_PlaySound ("red_gore/floor_slop",5,1.0,0,ATTN_NORM)
ALSL A -1
Stop
}
}/*
BloodSplatter
The blood splatter that is spawned instead of the Blood actor when an actor is hit and is able to bleed and the inflicting weapon or projectile has the +BLOODSPLATTER flag; all the predefined Heretic and Hexen projectiles have this flag implicitly set by the engine and many of the weapons, such as the Mace of Contrition and Hammer of Retribution, set it explicitly.
In IWADs other than Doom's, the blood sprites are actually named BLOD* and are renamed at load-time by ZDoom.
http://zdoom.org/wiki/Classes:BloodSplatter
http://zdoom.org/wiki/Classes:BloodSplatter
http://zdoom.org/wiki/A_PlaySound
http://zdoom.org/wiki/A_CheckFloor
*/
ACTOR Cacoon_BloodSplatter //BloodSplatter
{
Radius 2
Height 4
-NOBLOCKMAP
-MISSILE
+DROPOFF
+NOTELEPORT
+CANNOTPUSH
-ALLOWPARTICLES
Mass 5
-NOGRAVITY
+MOVEWITHSECTOR
+FLOORCLIP
+RANDOMIZE
+PUFFONACTORS
VSpeed 0
Decal "BloodSmear"
States
{
Spawn:
BLAD BB 0 A_PlaySound ("red_gore/bullet_hitting_flesh",CHAN_BODY,1.0,0,ATTN_NORM)
BLAD BA /*DC*/ 8 A_CheckFloor ("Crash")
Goto Crash_to_Surface //Stop
Crash_to_Surface:
BLAD A 8 A_CheckFloor ("Crash")
Loop
Death: // Walls
BLAD A 8 A_CheckFloor ("Crash")
Loop
XDeath: // Bleedable Objects (BulletPuff XDeath state requires actor flag +PUFFONACTORS)
BLAD A 8 A_CheckFloor ("Crash")
Loop
Crash: // Death + Floors || Non-bleedable Objects
ALSL AA 0 A_PlaySound ("red_gore/floor_slop",5,1.0,0,ATTN_NORM)
ALSL A -1
Stop
}
}ACS o, 6 o, 6 o, 6 0 O 74t SPTR0 . <