BigTruck's Fan Page

BOD Scripting

Adding enemies

LEVELENM.PY FILE SYNTAX

import Bladex
# from math import pow
import EnemyTypes
import Sparks
import Actions
import pocimac
import Breakings
import ItemTypes
import darfuncs

import EnmGenRnd
import AuxFuncs
import OnOff

import LevelFuncs

import Doors
import Levers
import Locks
import Objects
import Sounds
import Button
import ReadGSFile
import Stars



### Set these values to the expected player's level (0-19) at the beginning of the map
expected_player_lvl_min= 6
expected_player_lvl_max= 19

lvl_control=LevelFuncs.EnemyLevelControl (expected_player_lvl_min, expected_player_lvl_max)
### e.g. to give an enemy a level between 0 and 4, do
### pers.Level= lvl_control.GiveLevel(0, 4)


################## room 1 enems

def unhiderm1ork():

darfuncs.UnhideBadGuy("rm1ork")

o=Bladex.CreateEntity("TombEspada5","Orksword",0,0,0,"Weapon")
ItemTypes.ItemDefaultFuncs (o)
o=Bladex.CreateEntity("TombEscudo5","Escudo2",0,0,0,"Weapon")
ItemTypes.ItemDefaultFuncs (o)

pers=Bladex.CreateEntity("rm1ork","Great_Ork",8918, -4118, 26000,"Person")
pers.Angle=2.3
pers.Level=5
Actions.TakeObject(pers.Name,"TombEspada5")
Actions.TakeObject(pers.Name,"TombEscudo5")

pers.Blind = 1
pers.Deaf = 1


#pers.ActionAreaMin=pow(2,2)
#pers.ActionAreaMax=pow(2,3)

EnemyTypes.EnemyDefaultFuncs(pers)


pers.SetOnFloor()

darfuncs.HideBadGuy("rm1ork")

darfuncs.EnterSecEvent(0, -4000, 13900, unhiderm1ork)


################### room 2 enems

def unhideskel1():

darfuncs.UnhideBadGuy("Skeleton1")

o=Bladex.CreateEntity("Islandesp2","Hacha4",0,0,0,"Weapon")
ItemTypes.ItemDefaultFuncs(o)
o=Bladex.CreateEntity("IslandEscudo2","Escudo1",0,0,0,"Weapon")
ItemTypes.ItemDefaultFuncs(o)

pers=Bladex.CreateEntity("Skeleton1","Skeleton",13983,-7118,7027,"Person")
pers.Angle=0.0
pers.Level=8
Actions.TakeObject(pers.Name,"Islandesp2")
Actions.TakeObject(pers.Name,"IslandEscudo2")
pers.Blind = 1
pers.Deaf = 1
#pers.ActionAreaMin=pow(2,4)
#pers.ActionAreaMax=pow(2,5)
pers.SetOnFloor()
EnemyTypes.EnemyDefaultFuncs(pers)

darfuncs.HideBadGuy("Skeleton1")

darfuncs.EnterSecEvent(12000, -7091, 12000, unhideskel1)


############

def unhideskel2():

darfuncs.UnhideBadGuy("Skeleton2")

pers=Bladex.CreateEntity("Skeleton2", "Skeleton",17627,-7118, 3615,"Person")
pers.Angle=0.0
pers.Level=10
pers.Blind = 1
pers.Deaf = 1
#pers.ActionAreaMin=pow(2,0)
#pers.ActionAreaMax=pow(2,1)
pers.SetOnFloor()

o=Bladex.CreateEntity("OasisArqEsp1","Espadaelfica",0,0,0,"Weapon")
inv=pers.GetInventory()
inv.AddWeapon("OasisArqEsp1")
ItemTypes.ItemDefaultFuncs(o)

EnemyTypes.EnemyDefaultFuncs(pers)

darfuncs.HideBadGuy("Skeleton2")

darfuncs.EnterSecEvent(12000, -7091, 12000, unhideskel2)

########################### room 3 enems

# a 4.5 430, -10118, -2426
# a 5.5 -412, -10118, -10915
# a 4.9 -552, -10118, -6639

# enter 9000, -10100, 1100

def unhiderm3min():

darfuncs.UnhideBadGuy("Minot0")

o=Bladex.CreateEntity("Hachacarnicero0","Mazapiedra",0,0,0,"Weapon")

pers=Bladex.CreateEntity("Minot0","Minotaur",-412, -10118, -10915,"Person")
pers.Level=13
pers.Angle=5.5
Actions.TakeObject(pers.Name,"Hachacarnicero0")
pers.Blind = 1
pers.Deaf = 1
#pers.ActionAreaMin=pow(2,2)
#pers.ActionAreaMax=pow(2,3)
EnemyTypes.EnemyDefaultFuncs(pers)
pers.SetOnFloor()
darfuncs.HideBadGuy(pers.Name)

darfuncs.EnterSecEvent(9000, -10100, 900, unhiderm3min)


########################## room 4 enems

# a 0.0 -15552, -13118, -1900
# enter -10000, -13100, 3446

#################################

#sspl33=Bladex.GetSector(-10010, -13100, 3446)
#sspl33.OnEnter=door4.CloseDoor()

################################

def GenerateBurnSkl(o):

#o.ActionAreaMin=pow(2,6)
#o.ActionAreaMax=pow(2,7)
o.CatchOnFire(0,0,0)

luz = Bladex.CreateEntity(o.Name+"Luz","Entity Spot",0,0,0)
#luz.Color = 200,100,0
luz.Color = 181,99,10
luz.Intensity = 6
luz.Precission = 0.077
luz.CastShadows = 0
luz.Visible = 1
luz.SizeFactor = 0
o.Link(luz)


def ApagaLuz(luz,l):
luze = Bladex.GetEntity(luz)
Luz=AuxFuncs.GetSpot(luze)
Luz.Intensity = 0.0
Luz.CastShadows = 0
Fire=AuxFuncs.GetFire(luze)
Fire.Intensity = 20.0


def StartBurnSkl2(sector,entity):
if (entity == "Player1"):
BrnSklSec2.OnEnter = ""
generadorBrnSkl.GenerateEnemy()


def finGeneraFuego(a=0,b=0,c=0):
OnOff.LightSetInens = 60.0
OnOff.LightSetRadius = 0.077
OnOff.LightSetColor = (255,70,9)
# OnOff.TurnOnLight("olimpia")


##############################


Bladex.AddCombustionDataFor("Skeleton", "Fire", 250, 400, 4, 1, 3, 144000) # se extingira en 40 horas!

generadorBrnSkl = EnmGenRnd.CreateEnemiesGenerator(10, 1)
generadorBrnSkl.Level = lvl_control.GiveLevel(10, 16)

generadorBrnSkl.AddPoint((-19165, -13100, 729),("BrnSkl1", "Skeleton", "HookSword", 0, "Escudo4", 1), "Skl_appears1")


generadorBrnSkl.InitGenFunc=GenerateBurnSkl
generadorBrnSkl.DifTime = 0.6
#generadorBrnSkl.VirGenPos = -7000,-40000,0
generadorBrnSkl.FinishGenFunc = finGeneraFuego
generadorBrnSkl.Activate()


BrnSklSec2 = Bladex.GetSector(-10000, -13100, 3446)
BrnSklSec2.OnEnter = StartBurnSkl2


###################################


################### ork with bow at the top

def unhidetork():

darfuncs.UnhideBadGuy("topork")

pers=Bladex.CreateEntity("topork","Ork",4385,-41118,7611,"Person")
pers.Angle=3.2
pers.Level=lvl_control.GiveLevel(10,19)
pers.SetOnFloor()

bowtop=Bladex.CreateEntity("toporkbow","Arco",0,0,0,"Weapon")
ItemTypes.ItemDefaultFuncs(bowtop)
Actions.TakeObject(pers.Name,bowtop.Name)

quivertop=Bladex.CreateEntity("toporkquiver","CarcajEnvenenado",0,0,0,"Physic")
ItemTypes.ItemDefaultFuncs (quivertop)
quivertop.Data.SetNumberOfArrows(10, pers.Name)
Actions.TakeObject(pers.Name,quivertop.Name)

swordtop=Bladex.CreateEntity("toporksword","Orksword",0,0,0,"Weapon")
ItemTypes.ItemDefaultFuncs(swordtop)
Actions.TakeObject(pers.Name,swordtop.Name)

potiontop=Bladex.CreateEntity("Potion1","PocimaTodo",0,0,0,"Physic")
potiontop.Scale=1.220190
pocimac.CreatePotion(potiontop.Name)
Actions.TakeObject(pers.Name,potiontop.Name)

EnemyTypes.EnemyDefaultFuncs(pers)

darfuncs.HideBadGuy("topork")

darfuncs.EnterSecEvent(596, -41118, -2237, unhidetork)



### pair of dark knights

### added code from deffuncs to unhide monster when player enters sector below

def unhide5dkgt():

darfuncs.UnhideBadGuy("5DKGT")


pers=Bladex.CreateEntity("5DKGT", "Dark_Knight", 4171, -11500, 26333,"Person")
pers.Angle=3.5

pers.Level=lvl_control.GiveLevel(0,10)

### this part is not working
### the monster wont attack only looks at you
### with it removed they never stop attacking lol

### pers.ActionAreaMin=pow(2,4)
### pers.ActionAreaMax=pow(2,5)

pers.SetOnFloor()

bow1=Bladex.CreateEntity("towerbow5","Arco",0,0,0,"Weapon")
ItemTypes.ItemDefaultFuncs(bow1)
Actions.TakeObject(pers.Name,bow1.Name)

quiver1=Bladex.CreateEntity("towerquiver5","CarcajEnvenenado",0,0,0,"Physic")
ItemTypes.ItemDefaultFuncs (quiver1)
quiver1.Data.SetNumberOfArrows(10, pers.Name)
Actions.TakeObject(pers.Name,quiver1.Name)

sword1=Bladex.CreateEntity("towerEspada5","EgyptSword",0,0,0,"Weapon")
ItemTypes.ItemDefaultFuncs(sword1)
Actions.TakeObject(pers.Name,sword1.Name)

EnemyTypes.EnemyDefaultFuncs(pers)


darfuncs.HideBadGuy("5DKGT")

darfuncs.EnterSecEvent(8780, -13260, 11250, unhide5dkgt)


### dk2

def unhide6dkgt():

darfuncs.UnhideBadGuy("6DKGT")

pers=Bladex.CreateEntity("6DKGT","Dark_Knight",4700,-12225,23020,"Person")
pers.Angle=3
pers.Level=lvl_control.GiveLevel(0,10)
pers.SetOnFloor()

sword=Bladex.CreateEntity("towerEspada6","DoubleSword",0,0,0,"Weapon")
ItemTypes.ItemDefaultFuncs(sword)
Actions.TakeObject(pers.Name,sword.Name)

shield=Bladex.CreateEntity("towerEscudo6","Escudo7",0,0,0,"Weapon")
ItemTypes.ItemDefaultFuncs(shield)
Actions.TakeObject(pers.Name,shield.Name)

potion=Bladex.CreateEntity("Potion20","Pocima200",0,0,0,"Physic")
potion.Scale=1.220190
pocimac.CreatePotion(potion.Name)
Actions.TakeObject(pers.Name,potion.Name)

EnemyTypes.EnemyDefaultFuncs(pers)

darfuncs.HideBadGuy("6DKGT")

darfuncs.EnterSecEvent(8780, -13260, 11250, unhide6dkgt)



### end of levelenm.py