Apps Home
|
Create an App
shyguy44
Author:
theshyguy44
Description
Source Code
Launch App
Current Users
Created by:
Theshyguy44
/* * Settings */ cb.settings_choices = [ { name:'min_tip', type:'int', minValue:0, defaultValue:200, label:'Minimum number of tips to start' }, { name:'final_goal', type:'str', minLength:1, maxLength:255, label:'Goal for killing all zombies' }, { name:'zombie_order', type:'choice', choice1:'level', choice2:'random', defaultValue:'level', label:'Order in which zombies will appear. Level = from low to high level zombies. Random = random order' }, { name:'zombie_break', type:'int', minValue:5, defaultValue:10, label:'Amount of time between zombie appearances (in seconds).' }, { name:'num_level1', type:'int', minValue:1, defaultValue:5, label:'Number of level 1 zombies' }, { name:'level1_goals', type:'str', minLength:1, maxLength:255, label:'Goals for level 1 zombies' }, { name:'level1_damage', type:'int', minValue:1, defaultValue:50, label:'Level 1 zombie damage points' }, { name:'level1_life', type:'int', minValue:1, defaultValue:100, label:'Level 1 zombie life points' }, { name:'level1_attack', type:'int', minValue:1, defaultValue:10, label:'Frequency level1 zombies will attack in seconds' }, { name:'level1_escape', type:'int', minValue:0, defaultValue:0, label:'Time limit to kill level1 zombies in minutes' }, { name:'num_level2', type:'int', minValue:1, defaultValue:5, label:'Number of level 2 zombies' }, { name:'level2_goals', type:'str', minLength:1, maxLength:255, label:'Goals for level 2 zombies' }, { name:'level2_damage', type:'int', minValue:1, defaultValue:100, label:'Level 2 zombie damage points' }, { name:'level2_life', type:'int', minValue:1, defaultValue:200, label:'Level 2 zombie life points' }, { name:'level2_attack', type:'int', minValue:1, defaultValue:1, label:'Frequency level2 zombies will attack in seconds' }, { name:'level2_escape', type:'int', minValue:0, defaultValue:0, label:'Time limit to kill level2 zombies in minutes' }, { name:'num_level3', type:'int', minValue:1, defaultValue:5, label:'Number of level 3 zombies' }, { name:'level3_goals', type:'str', minLength:1, maxLength:255, label:'Goals for level 3 zombies' }, { name:'level3_damage', type:'int', minValue:1, defaultValue:250, label:'Level 3 zombie damage points' }, { name:'level3_life', type:'int', minValue:1, defaultValue:500, label:'Level 3 zombie life points' }, { name:'level3_attack', type:'int', minValue:1, defaultValue:1, label:'Frequency level3 zombies will attack in seconds' }, { name:'level3_escape', type:'int', minValue:0, defaultValue:0, label:'Time limit to kill level3 zombies in minutes' }, { name:'num_level4', type:'int', minValue:1, defaultValue:5, label:'Number of level 4 zombies' }, { name:'level4_goals', type:'str', minLength:1, maxLength:255, label:'Goals for level 4 zombies' }, { name:'level4_damage', type:'int', minValue:1, defaultValue:500, label:'Level 4 zombie damage points' }, { name:'level4_life', type:'int', minValue:1, defaultValue:1000, label:'Level 4 zombie life points' }, { name:'level4_attack', type:'int', minValue:1, defaultValue:1, label:'Frequency level4 zombies will attack in seconds' }, { name:'level4_escape', type:'int', minValue:0, defaultValue:0, label:'Time limit to kill level4 zombies in minutes' }, ]; /* * Variables */ var user_life = 199; var num_zombie = cb.settings.num_level1 + cb.settings.num_level2 + cb.settings.num_level3 + cb.settings.num_level4; var started = false; // var game_over = false; var zombies = []; var current_zombie; var start_notice_id; var zombie_attack_id; var zombie_escape_id; var get_zombie_id; /* * Handlers */ cb.onTip(function(tip) { var tip_amount = parseInt(tip['amount']); cb.log("Amount Tipped: " + tip_amount); user_life += tip_amount; if (user_life >= cb.settings.min_tip) { //start walking dead started = true; cb.log("Cancelling walking dead notice"); cb.cancelTimeout(start_notice_id); current_zombie = getZombie(); cb.log("Got Zombie: level:" + current_zombie.level + "; goal:" + current_zombie.goal + "; damage:" + current_zombie.damage + "; atck_freq:" + current_zombie.atck_freq + "; escape:" + current_zombie.escape); } cb.drawPanel(); }); /* * Functions */ function getZombie() { var num_zombies = zombies.length; // for (i = 0; i < zombies.length; i++) { // cb.log("Zombie: level:" + zombies[i].level + "; goal:" + zombies[i].goal + "; damage:" + zombies[i].damage + "; atck_freq:" + zombies[i].atck_freq + "; escape:" + zombies[i].escape); // } if (num_zombies > 0) { if (cb.settings.zombie_order === 'level') { current_zombie = zombies.shift(); //cb.log("Zombie: level:" + current_zombie.level + "; goal:" + current_zombie.goal + "; damage:" + current_zombie.damage + "; atck_freq:" + current_zombie.atck_freq + "; escape:" + current_zombie.escape); } else { var random_num = Math.floor(Math.random() * num_zombies); current_zombie = zombies.splice(random_num,1); } cb.sendNotice("The zombie has arrived. It's game time baby. Kill it for reward: " + current_zombie.goal); //cb.log("Zombie: level:" + current_zombie.level + "; goal:" + current_zombie.goal + "; damage:" + current_zombie.damage + "; atck_freq:" + current_zombie.atck_freq + "; escape:" + current_zombie.escape); zombie_attack_id = cb.setTimeout(zombieAttack, current_zombie.atck_freq * 1000); // if (current_zombie.escape > 0) { // zombie_escape_id = cb.setTimeout(zombieEscape, current_zombie.escape * 60 * 1000); // } return current_zombie; } } function zombieAttack() { cb.log("Zombie Attacking: level:" + current_zombie.level + "; goal:" + current_zombie.goal + "; damage:" + current_zombie.damage + "; atck_freq:" + current_zombie.atck_freq + "; escape:" + current_zombie.escape); user_life -= current_zombie.damage; if (user_life <= 0) { //game over cb.sendNotice("I've seen some sad shit in my days but this takes the cake. Game Over."); resetWalkingDead(); } else { cb.drawPanel(); zombie_attack_id = cb.setTimeout(zombieAttack, current_zombie.atck_freq * 1000); } } function resetWalkingDead() { zombies = []; current_zombie = null; if (zombie_attack_id) { cb.cancelTimeout(zombie_attack_id); } if (zombie_escape_id) { cb.cancelTimeout(zombie_escape_id); } if (get_zombie_id) { cb.cancelTimeout(get_zombie_id); } start_notice_id = cb.setTimeout(walkingDeadNotice, 15000); createZombies(); user_life = 0; started = false; cb.drawPanel(); } function zombieEscape() { } function createZombies() { //cb.log("Creating zombies"); createZombie(cb.settings.num_level1, 1, cb.settings.level1_goals, cb.settings.level1_damage, cb.settings.level1_life, cb.settings.level1_attack, cb.settings.level1_escape); createZombie(cb.settings.num_level2, 2, cb.settings.level2_goals, cb.settings.level2_damage, cb.settings.level2_life, cb.settings.level2_attack, cb.settings.level2_escape); createZombie(cb.settings.num_level3, 3, cb.settings.level3_goals, cb.settings.level3_damage, cb.settings.level3_life, cb.settings.level3_attack, cb.settings.level3_escape); createZombie(cb.settings.num_level4, 4, cb.settings.level4_goals, cb.settings.level4_damage, cb.settings.level4_life, cb.settings.level4_attack, cb.settings.level4_escape); } function createZombie(num_zombies, level, goals, damage, life, atck_freq, escape) { splitGoals(goals); var zombie_goals = splitGoals(goals); var goal_length = 0; if (zombie_goals) { goal_length = zombie_goals.length; } var goal_counter = 0; for (i = 0; i < num_zombies; i++) { if (goal_counter == goal_length) { goal_counter = 0; } var zombie = { "level": level, "goal": zombie_goals[goal_counter], "damage": damage, "life": life, "atck_freq": atck_freq, "escape": escape }; zombies.push(zombie); goal_counter += 1; } } function splitGoals(zombie_goals) { if (typeof zombie_goals != 'undefined') { var split_goals = zombie_goals.split(","); return split_goals; } } function walkingDeadNotice() { cb.sendNotice("tokens remaining until Walking Dead Mode starts"); start_notice_id = cb.setTimeout(walkingDeadNotice,15000); } cb.onDrawPanel(function(user) { return { 'template': '3_rows_of_labels', 'row1_label': user['user'] + ' Life Remaining:', 'row1_value': user_life, 'row2_label': '', 'row2_value': '', 'row3_label': '', 'row3_value': '' }; }); function init() { cb.drawPanel(); start_notice_id = cb.setTimeout(walkingDeadNotice, 15000); //cb.log("Init start_notice_id: " + start_notice_id); createZombies(); } init();
© Copyright Chaturbate 2011- 2025. All Rights Reserved.