View difference between Paste ID: kJP3QNnE and EAg31TFH
SHOW: | | - or go back to the newest paste.
1
2
// code is shit
3
// what do you expect
4
5
var m_w = 123456789;
6
var m_z = 987654321;
7
var mask = 0xffffffff;
8
9
// Takes any integer
10
function seed(i) {
11
    m_w = i;
12
    m_z = 987654321;
13
}
14
15
String.prototype.hashCode = function() {
16
  var hash = 0, i, chr;
17
  if (this.length === 0) return hash;
18
  for (i = 0; i < this.length; i++) {
19
    chr   = this.charCodeAt(i);
20
    hash  = ((hash << 5) - hash) + chr;
21
    hash |= 0; // Convert to 32bit integer
22
  }
23
  return hash;
24
};
25
26
// Returns number between 0 (inclusive) and 1.0 (exclusive),
27
// just like random().
28
function random()
29
{
30
    m_z = (36969 * (m_z & 65535) + (m_z >> 16)) & mask;
31
    m_w = (18000 * (m_w & 65535) + (m_w >> 16)) & mask;
32
    var result = ((m_z << 16) + m_w) & mask;
33
    result /= 4294967296;
34
    return result + 0.5;
35
}
36
37
function randomInt(min, max) {
38
    return ((random() * (max - min + 1)) + min) << 0;
39
}
40
41
function randomFrom(list) {
42
  return list[Math.floor((random()*list.length))];
43
} 
44
45
function shuffle(a) {
46
    var j, x, i;
47
    for (i = a.length - 1; i > 0; i--) {
48
        j = Math.floor(random() * (i + 1));
49
        x = a[i];
50
        a[i] = a[j];
51
        a[j] = x;
52
    }
53
    return a;
54
}
55
56
var blacked_percent;
57
58
function blackedRand() {
59
    return (blacked_percent + 2.0 * random()) / 3.0;
60
}
61
62
function blackedProb(p) {
63
    return blackedRand() > (1.0 - p);
64
}
65
66
function blackedMin(rolls) {
67
    var r = 3.0;
68
    while(rolls-- > 0)
69
        r = Math.min(r, Math.floor(blackedRand() * 4.0));
70
    return r;
71
}
72
73
function blackedMax(rolls) {
74
    var r = 0.0;
75
    while(rolls-- > 0)
76
        r = Math.max(r, Math.floor(blackedRand() * 4.0));
77
    return Math.min(r, 5);
78
}
79
80
function gen(girlname, photo) {
81
    var sname = girlname.replace(/\s+/g, '').toLowerCase();
82
    sname.replace("princess", "");
83
    sname.replace("chan", "");
84
    seed(sname.hashCode());
85
    
86
    for(var z = 0; z < 500; ++z)
87
        random();
88
89
    var dat = {
90
        vaginal: 0,
91
        oral: 0,
92
        swallow: 0,
93
        rim: 0,
94
        anal: 0,
95
        dp: 0,
96
        creampie: 0,
97
        pregnant: 0,
98
        humil: 0,
99
    };
100
101
    var prefs = {
102
        dildos: false,
103
        clothes: false,
104
        tattoo: false,
105
    };
106
107
    var result;
108
109
    blacked_percent = Math.max(0.6, 0.3 + random());
110-
    if(sname.includes("craine"))
110+
111
    var sluts = [
112
        "asuka",
113
        "mercy",
114
        "2b",
115
        "d.",
116
        "samus",
117
        "tennyson",
118
        "saber",
119
        "hilda",
120
        "misty",
121
        "lockh",
122
        "tohsaka",
123
        "zelda",
124
        "gremory",
125
        "asuna",
126
        "littner",
127
        "dawn",
128
        "may",
129
        "mei",
130
        "juri",
131
        "croft",
132
        "hatsune",
133
        "takamaki",
134
    ];
135
136
    for(var k = 0; k < sluts.length; ++k) {
137
        if(sname.includes(sluts[k])) {
138
            blacked_percent += 0.3;
139
            break;
140
        }
141
    }
142
143
    if(sname.includes("galko"))
144-
    prefs.dildos = blackedProb(0.8);
144+
145
146
    dat.vaginal = Math.max(2, blackedMax(2));
147
148
    dat.oral = Math.max(2, blackedMax(2));
149
150
    if(blackedProb((dat.vaginal + dat.oral) * 0.1))
151
        dat.anal = Math.min(blackedMax(1), dat.vaginal);
152-
    for(p in dat)
152+
153
    for(var i = 0; i < 100; ++i)
154
        console.log(Math.min(blackedMax(1), dat.vaginal));
155
156-
        "Muslim Whore" ,
156+
157-
        "Convert Cunt" ,
157+
158-
        "Certified Sandbunny" ,
158+
159-
        "Foreskin Cleaner" ,
159+
160-
        "Slut for Sandniggers" ,
160+
161-
        "Hijabi Queen" 
161+
162-
                ];
162+
163
    if(insemen && blacked && dat.creampie >= 1)
164
        dat.pregnant = Math.min(dat.creampie, blackedMax(2));
165
166
    if(blackedProb(dat.oral * 0.50) || insemen)
167
        dat.swallow = Math.min(dat.oral + 1, blackedMax(3));
168
169
    if(blacked && dat.swallow >= 1 && blackedProb(0.5))
170
        dat.rim = blackedMin(2);
171-
    var grade = Math.min(Math.floor(count / 6), titles.length - 1);
171+
172
    if(dat.anal >= 1 && dat.vaginal >= 1 && (dat.anal + dat.vaginal) >= 4)
173
        dat.dp = Math.floor((dat.anal + dat.vaginal + 0.5) / 2);
174
175
    prefs.tattoo = blackedProb(0.8);
176
177
    prefs.dildos = true;
178
179-
    setId("title", count >= 24 ? "JASMINE'S BITCH" : titles[grade]);
179+
180
181
    for(var p in dat)
182
        dat[p] = Math.min(3, dat[p]);
183
184
    var count = 0;
185
    for(var p in dat)
186
        count += dat[p];
187
188
    var titles = [ 
189
        "Still Pure" ,
190-
    if(count === 0)
190+
        "Mostly Pure" ,
191
        "Experimenting" ,
192
        "Beginner Slut" ,
193
        "Freshly BLACKED" ,
194
        "Certifiably BLACKED" ,
195-
    for(i = 0; i < votes; ++i)
195+
        "BBC Snowbunny" ,
196
        "Black Queen" ];
197
198
    function setId(id, str) {
199
        if(!document.getElementById(id))
200
            return;
201
        var el = document.getElementById(id);
202
        el.innerHTML = str;
203
    }
204
205
    var grade = Math.min(Math.floor(count / 3), titles.length - 1);
206
207
    if(count >= 21) {
208
        prefs.tattoo = true;
209
        prefs.clothes = true;
210
        prefs.dildos = true;
211-
            img.setAttribute('src', 'bstar.png');
211+
212
213
    setId("title", count >= 24 ? "Mind-Broken Slave" : titles[grade]);
214
    setId("name", girlname);
215
216-
            img.setAttribute('src', 'wstar.png');
216+
217
        document.getElementById("photo").src = photo;
218
219
    if(count < 9)
220
        setId("wdick", "Maybe?");
221
222
223
    var votes = Math.max(Math.floor(blackedRand() * blackedRand() * blackedRand() * 40), 1);
224
    if(count == 0)
225
        votes = 0;
226
    setId("grade", votes);
227
228-
    for(p in dat)
228+
229
    for(var i = 0; i < votes; ++i)
230
        rating += randomInt(4, 5);
231-
    for(p in prefs)
231+
232
        rating /= votes;
233
    rating = Math.round(rating * 100) / 100;
234
235
    function setBox(id) {
236-
    for(i = 0; i < 8; ++i)
236+
237
        if(!el)
238
            return;
239
240
        el.innerHTML = "";
241
        var i = 0;
242
        var img;
243
        for(i = 0; i < dat[id]; ++i) {
244
            img = document.createElement("img");
245
            img.setAttribute('src', 'bspade.png');
246
            el.appendChild(img);
247
        }
248
        for(; i < 3; ++i) {
249
            img = document.createElement("img");
250
            img.setAttribute('src', 'wspade.png');
251
            el.appendChild(img);
252
        }
253
    }
254
255
    function setPref(id) {
256
        var el = document.getElementById(id);
257
        if(!el)
258
            return;
259
        el.innerHTML = prefs[id] ? "YES!" : "&nbsp;";
260
    }
261
262
    for(var p in dat)
263
        setBox(p);
264
265
    for(var p in prefs)
266
        setPref(p);
267
268
    var digits = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ];
269
    var bid = '';
270
    for(var i = 0; i < 8; ++i)
271
        bid += randomFrom(digits);
272
273
    setId("barcodeid", bid);
274
}
275
276
function submit() {
277
    gen(
278
        document.getElementById("wname").value,
279
        document.getElementById("wimage").value);
280
281
    document.getElementById("intro").style.display = "none";
282
    document.getElementById("card").style.display = "flex";
283
}
284