"spidermount":
type: world
events:
on player chats:
- if <context.message.contains[summon_spider]> == true && <player.flag[spidermount]> == true {
- execute as_op "npc create Spider --type spider --trait controllable"
- execute as_op "npc mount"
- execute as_op "npc assign --set mount_despawn"
- if <player.flag[spidermaster]> == true {
- give i@spiderstaff
}
}
on player right clicks with i@spiderstaff:
- if <player.flag[spidermaster]> && <player.is_inside_vehicle> && <player.flag[myspiders].as_list.size||0> < 3 && <player.get_vehicle.entity_type> == spider {
- create cave_spider minispider <player.location> trait:<health> save:myspider
- follow npc:<entry[myspider].created_npc> target:<player.selected_npc>
- flag <entry[myspider].created_npc> npcowner:->:<player>
- assignment npc:<entry[myspider].created_npc> script:minispider
- flag player myspiders:->:<entry[myspider].created_npc>
}
on player left clicks with i@spiderstaff:
- if <player.flag[spidermaster]> && <player.is_inside_vehicle> && <player.get_vehicle.entity_type> == spider {
- define mytarget <player.location.cursor_on.find.living_entities.within[20].exclude[<player>].exclude[<player.flag[myspiders].as_list>].exclude[<player.selected_npc>]>
- if <%mytarget%.size> == 0 determine cancelled
- attack <player.flag[myspiders].as_list> target:<%mytarget%.get[1]>
- determine cancelled
}
"minispider":
type: assignment
interact scripts:
- 1 minispider1
actions:
on assignment:
- vulnerable
- trait health
- health 10
- trigger name:click state:true
- trigger name:chat state:true
- trigger name:proximity state:true radius:12
on attack:
- cast poison power:5
on death:
- run myspiders_death delay:11s
"minispider1":
type: interact
steps:
1:
proximity trigger:
exit:
script:
- if <player.is_inside_vehicle> && <player.get_vehicle.entity_type> == spider {
- teleport <npc> <player.location>
- follow <player>
}
else burn <player.flag[myspiders].as_list> duration:20s
"myspiders_death":
type: task
script:
- flag <npc.flag[npcowner]> myspiders:<-:<npc>
- wait 0.5s
- remove <npc>